How do I create a strongly typed BeginForm?

前端 未结 2 1696
长发绾君心
长发绾君心 2021-01-20 19:59

I\'ve seen a few examples of people using this syntax for HTML.BeginForm:

(Html.BeginForm(action => action.ActionName(id)))

相关标签:
2条回答
  • 2021-01-20 20:28

    Here is an example, in your .aspx view:

    "UserController" being your controller.
    "Save()" being your action method in the controller.

    <%
    using (Html.BeginForm<UserController>(x => x.Save(null, null, Model.User.ID, null, null), FormMethod.Post, new { id = "formUser" })) {
    %>
       <%= Html.AntiForgeryToken() %>
       <%: Html.ValidationSummary(true) %>
       ...
    <% } %>
    

    Hope that helps.

    0 讨论(0)
  • 2021-01-20 20:31

    You will find this extension methods in MVCContrib and more specifically in the Microsoft.Web.Mvc.dll assembly in the Microsoft.Web.Mvc.FormExtensions class. So download and include this assembly in your project and add the Microsoft.Web.Mvc namespace in the namespaces section of your web.config file:

    <namespaces>
        <add namespace="System.Web.Mvc"/>
        <add namespace="System.Web.Mvc.Ajax"/>
        <add namespace="System.Web.Mvc.Html"/>
        <add namespace="System.Web.Routing"/>
        <add namespace="System.Linq"/>
        <add namespace="System.Collections.Generic"/>
        <add namespace="Microsoft.Web.Mvc"/>
    </namespaces>
    

    and you will be able to use it in your views.

    0 讨论(0)
提交回复
热议问题