Asp.net mvc ASP.MVC 1.0带有ViewModel的单选按钮值
您好 我有点像MVC高手。我正在尝试创建一个简单的应用程序,客户机在其中登录并投票。没什么复杂的。我有一个强类型视图,其中我传递了一个VoteModel类。这个类包含一个VoTestStructures集合。投票结构只包含一个(int)ID、一个描述以及是否选中 所以在我看来我有Asp.net mvc ASP.MVC 1.0带有ViewModel的单选按钮值,asp.net-mvc,Asp.net Mvc,您好 我有点像MVC高手。我正在尝试创建一个简单的应用程序,客户机在其中登录并投票。没什么复杂的。我有一个强类型视图,其中我传递了一个VoteModel类。这个类包含一个VoTestStructures集合。投票结构只包含一个(int)ID、一个描述以及是否选中 所以在我看来我有 <% foreach (var item in Model.votes) { %> <%= Html.RadioButton("Destination", item.ID, item.Sele
<% foreach (var item in Model.votes) { %>
<%= Html.RadioButton("Destination", item.ID, item.SelectedInd) + " " + item.Destination %> <br />
<% } %>
当我执行POST以获取提交的结果时,我的操作方法会取回强类型ViewModel,但不会填充原始投票结构集合对象
为什么呢?我该如何着手解决这个问题呢
我真的很感谢你的帮助
Brian如果Model.voces是一个列表,则需要查看处理()。MVC2的使用率有了显著的提高。好吧,我可以从Request.Form对象中挖出选中的单选按钮。我打赌有一个更好的解决方案,但这似乎是可行的。正如前面的答案所指出的,在MVC2中这是更好的。如果有比这更好的解决方案,我将不胜感激 谢谢 布莱恩
您的Post方法是什么样子的?好吧,这可以通过将destination作为Viewmodel上的字符串属性来简化,这样我的控制器就不依赖于请求。
[AcceptVerbs(HttpVerbs.Post)]
public ViewResult Index(VoteModel oVM)
{
var ID = Request.Form["Destination"];
if (ID != null)
{
//Moving on with life
}
//just repost the same data since the client didn't make a selection
}