1
我从视图模型对象的数组构建一个屏幕,包含三个方面:手动绑定MVC模型,而无需HTML帮手复选框
public class StartViewModel {
public string Id{ get; set; }
public string Name { get; set; }
public bool Accept { get; set; }
}
我则试图将其绑定到我的观点,像这样:
<input type="hidden" name="StartRequests[<%: i.ToString() %>].Name" value="<%: StartRequests.Name %>" />
<input type="hidden" name="StartRequests[<%: i.ToString() %>].Id" value="<%: StartRequests.Id%>" />
然后我想要将Accept标志绑定到复选框。我明白复选框缺少一个名称属性,所以我不能立即使用它,并且我明白Html.CheckBoxFor将生成第二个隐藏字段来存储值。所以这是我的问题。
我没有能力使用JavaScript。我需要配置这个复选框来有效地调整ViewModel中的值,但我不知道如何做到这一点。 Html.CheckBox助手如何填充它生成的隐藏字段?我认为它是用javascript做到的。有人能帮助我理解一种方法来做到这一点吗?我仍在研究模型绑定背后的想法。
Html Helpers不使用Javascript,除了可能用于客户端验证(将其作为Javascript注入到页面中)。 Html Helpers是纯服务器端代码,使用字符串帮助器对象将HTML元素和属性缝合在一起。如果你不能使用Javascript,并且你正在尝试做的事情需要客户端行为(即在提交之前的浏览器中),那么你运气不好。 – 2011-06-14 20:45:42
鉴于此,为什么'Html.CheckBoxFor'出来了? – 2011-06-14 20:48:52