我见过一些使用这种 HTML.BeginForm 语法的人的例子:
(Html.BeginForm<Type>(action => action.ActionName(id)))
但是当我尝试这种语法时,我得到的只是:
The non-generic method System.Web.Mvc.Html.FormExtensions.BeginForm(System.Web.Mvc.HtmlHelper)'
cannot be used with type arguments
我错过了什么? Visual Studio 2010,System.Web.MVC 版本为 v2.0.50727
最佳答案
您将在 MVCContrib 中找到此扩展方法更具体地说,在 Microsoft.Web.Mvc.FormExtensions
类中的 Microsoft.Web.Mvc.dll
程序集中。所以下载这个程序集并将其包含在您的项目中,并在您的 web.config 文件的 namespaces
部分中添加 Microsoft.Web.Mvc
命名空间:
<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>
您将能够在您的 View 中使用它。
关于asp.net-mvc - 如何创建强类型 BeginForm?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2880056/