如何在URL.RouteURL中从视图到控制器的密码模型

时间:2011-08-30 22:57:56

标签: asp.net-mvc model-view-controller asp.net-mvc-2

如何将模型从视图确认传递到URL.RouteURL中的CareController?

查看(确认)

<% using (Html.BeginForm())
{ %>

    <%: Html.ValidationSummary(true) %>

            <div class="editor-field">
                <%: Html.CheckBoxFor(model => model.ConfirmOrder) %>
            </div>

<% } %>

<%= Url.RouteUrl(new { controller = "care", action = "process"}) %>

CareController

public ActionResult Process(ConfirmViewModel model)
{
}

由于

2 个答案:

答案 0 :(得分:1)

蒂姆有正确的想法。这是您的代码示例更新。正如MSDN文章指出的那样,Html.BeginForm有几个重载。你只需要使用你需要的那个。

<% using (Html.BeginForm("Process", "CareController" }))
{ %>
     <%: Html.ValidationSummary(true) %>

     <div class="editor-field">
          <%: Html.CheckBoxFor(model => model.ConfirmOrder) %>
     </div>
<% } %>
<input type="submit" value="Post">

答案 1 :(得分:0)

您不应该使用Url.RouteUrl。这就是Html.BeginForm的用途。它的设置是将表单提交给控制器。如果您需要更改它使用的控制器/操作,那么您可以将其他参数传递给Html.BeginForm(http://msdn.microsoft.com/en-us/library/system.web.mvc.html.formextensions.beginform的.aspx)。 Url.RouteUrl将只返回您要求的完全限定URL的字符串。