asp.net-mvc – 如何使用ASP.NET MVC 3编辑IEnumerable?
发布时间:2020-05-23 17:30:33 所属栏目:asp.Net 来源:互联网
导读:给出以下类型 public class SomeValue{ public int Id { get; set; } public int Value { get; set; }}public class SomeModel{ public string SomeProp1 { get; set; } public string SomeProp2 { g
|
给出以下类型 public class SomeValue
{
public int Id { get; set; }
public int Value { get; set; }
}
public class SomeModel
{
public string SomeProp1 { get; set; }
public string SomeProp2 { get; set; }
public IEnumerable<SomeValue> MyData { get; set; }
}
我想为SomeModel类型创建一个编辑表单,它将包含SomeProp1和SomeProp2的通常文本字段,然后包含SomeModel.MyData集合中每个SomeValue的文本字段的表。 这怎么做?这些价值观如何回归到模型? 我目前有一个表单显示每个值的文本字段,但它们都具有相同的名称和相同的Id。这显然是无效的HTML,并将阻止MVC将值映射回来。 解决方法您将使用编辑器模板来执行此操作。这样,框架将处理所有内容(从命名输入字段到在后期操作中正确绑定值)。控制器: public class HomeController : Controller
{
public ActionResult Index()
{
// In the GET action populate your model somehow
// and render the form so that the user can edit it
var model = new SomeModel
{
SomeProp1 = "prop1",SomeProp2 = "prop1",MyData = new[]
{
new SomeValue { Id = 1,Value = 123 },new SomeValue { Id = 2,Value = 456 },}
};
return View(model);
}
[HttpPost]
public ActionResult Index(SomeModel model)
{
// Here the model will be properly bound
// with the values that the user modified
// in the form so you could perform some action
return View(model);
}
}
查看(/ Views / Home / Index.aspx): <% using (Html.BeginForm()) { %>
Prop1: <%= Html.TextBoxFor(x => x.SomeProp1) %><br/>
Prop2: <%= Html.TextBoxFor(x => x.SomeProp2) %><br/>
<%= Html.EditorFor(x => x.MyData) %><br/>
<input type="submit" value="OK" />
<% } %>
最后编辑器模板(/ Views / Home / EditorTemplates / SomeValue.ascx)将自动调用MyData集合的每个元素: <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<MyApp.Models.SomeValue>" %>
<div>
<%= Html.TextBoxFor(x => x.Id) %>
<%= Html.TextBoxFor(x => x.Value) %>
</div> (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET 4的IIS和服务器操作系统要求
- 我需要知道什么才能使asp.net应用程序全球化?
- asp.net – 如何在visual studio中查看cshtml页面?
- asp.net – 在几个网页(.cshtml文件)中使用Razor @function
- asp.net – 如何创建Generic StateManagedCollection?
- asp.net-mvc – 在C#中,我如何从一个字节[]中知道文件类型?
- asp.net-mvc – IIS Express – HTTP错误500.19 0x800700b7
- asp.net – 来自masterpage的Html.RenderPartial调用
- MVC3中的IValidatableObject – 客户端验证
- 使用实体框架在ASP.Net中创建报表
推荐文章
站长推荐
- asp.net – 为什么在“Glimpse Web Debugger”中
- asp.net-mvc – 如何使用MVC3 Razor布局页面?
- asp.net-mvc – Kendo UI异步上传无法在Internet
- asp.net – HttpPostedFileBase.SaveAs方法问题
- 在IIS Express中无法启动asp.net核心Web应用程序
- asp.net – 如何以二进制格式下载存储在SQL DB中
- asp.net-mvc-3 – MVC模型范围验证器?
- 为什么在手动刷新响应时ASP.NET将使用Transfer-E
- asp.net – 为什么IFormFile显示为null,我该如何
- ASP.NET中没有会话状态的用户身份验证
热点阅读
