Asp.net mvc ASP.MVC 1.0带有ViewModel的单选按钮值

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

您好

我有点像MVC高手。我正在尝试创建一个简单的应用程序,客户机在其中登录并投票。没什么复杂的。我有一个强类型视图,其中我传递了一个VoteModel类。这个类包含一个VoTestStructures集合。投票结构只包含一个(int)ID、一个描述以及是否选中

所以在我看来我有

<% 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
    }