asp.net-mvc – 嵌套属性的模型绑定在asp.net mvc中
发布时间:2020-12-15 22:43:20 所属栏目:asp.Net 来源:网络整理
导读:我想要在我的mvc应用程序中获得一些绑定.我发现嵌套属性不是由asp.net mvc的RC1版本中的默认模型绑定器自动绑定的.我有以下类结构: public class Contact{ public int Id { get; set; } public Name Name { get; set; } public string Email { get; set; }
我想要在我的mvc应用程序中获得一些绑定.我发现嵌套属性不是由asp.net mvc的RC1版本中的默认模型绑定器自动绑定的.我有以下类结构:
public class Contact{ public int Id { get; set; } public Name Name { get; set; } public string Email { get; set; } } 名称的定义如下: public class Name{ public string Forename { get; set; } public string Surname { get; set; } } 我的观点是按照以下方面定义的: using(Html.BeginForm()){ Html.Textbox("Name.Forename",Model.Name.Forename); Html.Textbox("Name.Surname",Model.Name.Surname); Html.Textbox("Email",Model.Email); Html.SubmitButton("save","Save"); } 我的控制器动作定义为: public ActionResult Save(int id,FormCollection submittedValues){ Contact contact = get contact from database; UpdateModel(contact,submittedValues.ToValueProvider()); //at this point the Name property has not been successfully populated using the default model binder!!! } 电子邮件属性已成功绑定,但不是Name.Forename或Name.Surname属性.任何人都可以告诉这是否应该使用默认的模型绑定工具,我做错了什么,或者它不工作,我需要滚动我自己的代码绑定模型对象的嵌套属性? 解决方法
我认为问题是由于属性上的名称前缀.我想你需要将它更新为两个模型,并指定第二个模型的前缀.请注意,我已经从参数中删除了FormCollection,并使用依赖于内置值提供程序的UpdateModel的签名,并指定了要考虑的属性的白名单.
public ActionResult Save( int id ) { Contact contact = db.Contacts.SingleOrDefault(c => c.Id == id); UpdateModel(contact,new string[] { "Email" } ); string[] whitelist = new string[] { "Forename","Surname" }; UpdateModel( contact.Name,"Name",whitelist ); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- WCF技术剖析之三十:一个很有用的WCF调用编程技巧[下篇]
- 在.NET程序集中向ADODB命令添加参数时出错
- asp.net-mvc – 单元测试适配器抛出异常:无法在ASP.NET MV
- asp.net-mvc – Asp.Net MVC Html助手扩展
- asp.net-mvc – SimpleMembershipProvider不会在WebSecurit
- asp.net – 使用外部connectionStrings.config文件进行WebP
- asp.net-mvc-3 – 将以“.cshtml”结尾的请求路由到控制器
- asp.net-mvc – ASP.NET MVC,将Model从View传递给Controlle
- 在ASP.NET,VS2008中“无法重新格式化文档”
- oauth – 如何为AspNet.Security.OpenIdConnect.Server解决
推荐文章
站长推荐
- 接受List的ASP.NET Web方法失败,“Web服务方法名
- asp.net-mvc – 使用REST API进行身份验证
- asp.net-mvc – 使用Viewbag绑定DropdownlistFor
- 基于B/S模式的asp课程重难点掌握情况分析系统
- asp.net – 英国邮政编码查找流程的好例子
- asp.net-mvc-3 – MVC3显示日期短时间没有格式字
- Asp.Net Core 空白模板搭建Mvc架构
- asp.net-mvc – MVC企业领域 – 好还是坏?
- 身份验证 – 如何为Asp.NET MVC 5创建ClaimsIden
- ASP.NET的Visual Studio 2008性能分析器问题
热点阅读