如何从modelstate中检索属性值

时间:2012-09-16 22:11:49

标签: asp.net-mvc asp.net-mvc-3

如何在httppost操作中从modelstate检索属性值。

下面是代码,我曾经从modelstate中检索隐藏的id字段。但是不可能有强类型版本来获得价值。比如,如果修改了属性名称,则会提示编译时错误。

任何人都可以解释“AttemptedValue”和“RawValue”之间的区别。


 ModelState state;      
 if (ModelState.TryGetValue("id", out state))
 {
     string value = state.Value.AttemptedValue.ToString();
 }

2 个答案:

答案 0 :(得分:1)

框架使用了尝试的值,它包含连接的值列表。在我的情况下,因为它是id字段,我继续尝试值。以下链接提供了更多相关信息。

http://forums.asp.net/t/1571473.aspx/1?MVC+2+Custom+ModelBinder+and+storing+the+attempted+value+for+the+view

答案 1 :(得分:0)

您可以迭代ModelStateDictionary对象并通过字典上的键(属性名称)获取所需属性的值,或者您可以执行类似ModelState["PropertyName"].Value

的操作