asp.net-mvc – UpdateModel前缀 – ASP.NET MVC
发布时间:2020-12-30 19:05:16 所属栏目:asp.Net 来源:互联网
导读:我在TryUpdateModel()中遇到麻烦.我的表单字段用前缀命名,但我正在使用 – 作为我的分隔符,而不是默认点. input type=text id=Record-Title name=Record-Title / 当我尝试更新模型时,它不会被更新.如果我将name属性更改为Record.Title,它的工作原理完美,但这
|
我在TryUpdateModel()中遇到麻烦.我的表单字段用前缀命名,但我正在使用 – 作为我的分隔符,而不是默认点. <input type="text" id="Record-Title" name="Record-Title" /> 当我尝试更新模型时,它不会被更新.如果我将name属性更改为Record.Title,它的工作原理完美,但这不是我想要做的. bool success = TryUpdateModel(record,"Record"); 是否可以使用自定义分隔符? 解决方法另外需要注意的是前缀是帮助反射找到正确的字段进行更新.例如,如果我有一个我的ViewData的自定义类,如:public class Customer
{
public string FirstName {get; set;}
public string LastName {get; set;}
}
public class MyCustomViewData
{
public Customer Customer {get; set;}
public Address Address {get; set;}
public string Comment {get; set;}
}
我的页面上有一个文本框 <%= Html.TextBox("FirstName",ViewData.Model.Customer.FirstName) %>
要么 <%= Html.TextBox("Customer.FirstName",ViewData.Model.Customer.FirstName) %>
这是有用的 public ActionResult Save (Formcollection form)
{
MyCustomViewData model = GetModel(); // get our model data
TryUpdateModel(model,form); // works for name="Customer.FirstName" only
TryUpdateModel(model.Customer,form) // works for name="FirstName" only
TryUpdateModel(model.Customer,"Customer",form); // works for name="Customer.FirstName" only
TryUpdateModel(model,form) // do not work
..snip..
} (编辑:东莞站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET 2.0和4.0似乎在Forms身份验证中以不同方式处理根UR
- asp.net-mvc-3 – ASP.Net MVC 3:在哪里处理会话丢失?
- asp.net简单生成XML文件的方法
- asp.net – HttpWebRequest正在为404抛出异常
- asp.net-mvc – 神秘的ASP.NET MVC Action高延迟问题?
- 在ASP.NET中,什么决定了HostingEnvironment.IsDevelopmentE
- asp.net – 避免在web.config中提供服务器连接字符串
- asp.net – 如何在gridview中将navigateurl添加到超链接
- ASP.Net Web应用程序安全性不适用于IIS 7?
- asp.net-mvc – 只发布控制器
