【发布时间】:2011-03-11 08:43:53
【问题描述】:
我一直想知道从表单集合中生成强类型对象以从中提取数据的可能性。
也就是说,是否可以根据formcollection对象中的键生成一个类?
例如: 假设您有一个带有“ID3”键和“false”值的复选框。 并且会写:
bool CheckBox = FormObj.ID3.GetValue();
我意识到这可能不是世界上最有用的东西,但仍然很有趣。
我猜这是语言限制。
对此有什么想法吗?
编辑:
好的,所以如果我有一个列表(长度未知)并在我的视图中执行 foreach 并获得复选框,我将如何将它们绑定到我的控制器中?
<% foreach (var item in Model.AllAttributes)
{ %>
<tr>
<td>
<%: Html.CheckBox(item.AttributeID.ToString(), item.Chosen) %>
</td>
<td>
<%: item.AttributeTitle %>
</td>
<td>
<%: item.Category.CategoryName %>
</td>
</tr>
<% } %>
我在控制器中放了什么?
【问题讨论】:
-
你不应该使用
FormCollection- 那是给孩子们的。改用强类型模型、视图模型和模型绑定。它将使您的 ASP.NET MVC 体验好多更好。 :) 此外,MVC 中不存在“回发”的概念——表单帖子就是表单帖子。除了从客户端发送到服务器的内容之外,没有其他状态,因此称为 REST。 :)
标签: asp.net-mvc c#-4.0 postback formcollection