asp.net-mvc – 嵌套属性的模型绑定在asp.net mvc中
发布时间:2020-05-24 07:08:46 所属栏目:asp.Net 来源:互联网
导读:我想要在我的mvc应用程序中获得一些绑定.我发现嵌套属性不是由asp.net mvc的RC1版本中的默认模型绑定器自动绑定的.我有以下类结构: public class Contact{ public int Id { get; set; } public Name Name { get; set; } public string Email { get; se
|
我想要在我的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 );
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- iis – 如何查看池中的哪个asp.net应用程序使用的内存最多
- asp.net – 我应该在我的HttpHandler中设置IsReusable为Tru
- asp.net – 分析器错误消息:无法生成代码.抛出了类型’Sys
- asp.net-mvc – ViewBag在RedirectToAction之后为NULL(View
- asp.net-mvc-3 – 当使用Html.TextBoxFor时,将模型的名称添
- asp.net – 为“忘记密码”执行代码的最佳方式
- asp.net – 当用户未通过身份验证时如何处理ajax请求?
- asp-classic – 如何在经典的asp中制作一个预防sql注入的预
- asp.net – 使用WebAPI时重新验证模型(TryValidateModel等效
- asp.net-mvc – 单元测试中的ViewResult.ViewName属性为空
推荐文章
站长推荐
- asp.net – 如何防止CPU占用100%,因为iis中的工
- 将ASP.NET编译为64位
- asp.net – 表单认证ReturnUrl和子域名用于单点登
- asp.net-mvc – MVC 5 Bundle错误
- asp.net-mvc – 使用MiniProfiler与MVC 5
- ASP.NET API(MVC) 对APP接口(Json格式)接收数据与
- ASP.NET MVC3 HttpStatusCodeResult StatusDescr
- asp.net-mvc – 如何在ASP.NET MVC 2 RC中编写自
- 文件上传 – 如何解决邮递员中的文件上传错误?
- ASP.NET MVC页面不会加载并说“找不到资源”
热点阅读
