隐藏的表单元素没有绑定?

时间:2010-04-23 11:03:41

标签: asp.net-mvc

隐藏表单字段的值未绑定到视图模型(也不是查询字符串值)是标准/预期行为吗?

示例:

<%= Html.Hidden("test", "13" )%>

如果我的poco视图模型包含属性测试应该绑定它不应该吗?!我必须在控制器中明确地设置它,那种失败的目标不是吗?

bla( formviewmodel m, string test)
{
    m.test = test;
}

任何反馈意见。谢谢!

基督教

修改

我检查了这样的表单值:

string [] t = Request.Form.AllKeys;

        for( int c = 0; c < Request.Form.AllKeys.Count(); c++ )
        {
            string[] x = Request.Form.GetValues(c);
        }

它definatley包含test的值。

1 个答案:

答案 0 :(得分:0)

隐藏字段的值取自Modelstate。

可以来自URL(循环值)或帖子。

如果路由或邮寄中没有数​​据,则帮助者的第二个参数仅为默认值。

您可能想要使用

<input type="hidden" value="<%=Model.Test%>" name="Test" >

我没有看到Html.Hidden字段有意义的视图。