Javascript Asp.Net MVC 3 formcollection在提交后丢失数据

Javascript Asp.Net MVC 3 formcollection在提交后丢失数据,javascript,asp.net,json,asp.net-mvc-3,formcollection,Javascript,Asp.net,Json,Asp.net Mvc 3,Formcollection,我有一个Asp.Net MVC 3应用程序,单击提交按钮后,我想验证在formcollection参数中传递的信息。。如果无效,我将返回一个jSon。。但在此之后,我的formcollection总是返回null 这发生在chrome和FFox中。。在IE中,它工作得很好 我的看法是: <li id="opc-register" class="section allow"> <div id="checkout-step-register" class="step a-i

我有一个Asp.Net MVC 3应用程序,单击提交按钮后,我想验证在formcollection参数中传递的信息。。如果无效,我将返回一个jSon。。但在此之后,我的formcollection总是返回null

这发生在chrome和FFox中。。在IE中,它工作得很好

我的看法是:

<li id="opc-register" class="section allow">
    <div id="checkout-step-register" class="step a-item" style="display: none;">
        <form id="co-register-form" action="">
        <div id="checkout-register-load">
            @Html.Action("OpcRegisterForm", "Checkout")
        </div>
        </form>
        <script type="text/javascript">
            Register.init('#co-register-form', '@(storeLocation)checkout/OpcSaveRegister/'); 
        </script>
        <div class="buttons" id="register-buttons-container">                           
            <button type="button" class="paymentmethodnextstepbutton" onclick="Register.save()">
                <span>@T("Common.Continue")</span>

            </button>

            <span class="please-wait" id="register-please-wait" style="display: none;">
                <img src="@Url.Content("~/Content/Images/ajax_loader_small.gif")"
    alt="@T("Common.LoadingNextStep")" title="@T("Common.LoadingNextStep")" />
                @T("Common.LoadingNextStep")</span>
        </div>
    </div>
</li>

不要在带有MVC的帖子上使用FormCollection。使用强类型ViewModel,该ViewModel包含可以在帖子中提交的表单中的所有属性

例如,您可以有一个类,如:

public class RegisterViewModel
{
    public string FirstName { get; set; }
    public string Email { get; set; }
    //...
}
在您的视图中,您可以设置以下属性:

@Html.EditorFor(m => m.FirstName)
@Html.EditorFor(m => m.Email)
然后你的行动,你会

[HttpPost]
public ActionResult OpcSaveRegister(RegisterViewModel registerModel)
{
    //...
}

如何使用迭代的列表值?强类型模型不支持列表值。这就是为什么在没有选择的情况下,必须使用FormCollection。
[HttpPost]
public ActionResult OpcSaveRegister(RegisterViewModel registerModel)
{
    //...
}