Asp.net mvc 3 带有Razor生成器的Html.BeginForm()

Asp.net mvc 3 带有Razor生成器的Html.BeginForm(),asp.net-mvc-3,razor,custom-controls,helper,Asp.net Mvc 3,Razor,Custom Controls,Helper,我正在用razor generator制作一个助手,以构建一个cutom控件,其中有两个单选按钮(是/否) 我想使用Html.BeginForm来实现这一点 但我做不到 你知道怎么做还是用别的方法 谢谢 编辑: 当我把这个密码 @using (Html.BeginForm()) { <input type="radio"/> <input type="radio"/> } 当你问问题时,请发布你的代码,这样我们就可以看到你做错了什么。试试这个: @us

我正在用razor generator制作一个助手,以构建一个cutom控件,其中有两个单选按钮(是/否) 我想使用Html.BeginForm来实现这一点

但我做不到

你知道怎么做还是用别的方法

谢谢

编辑:

当我把这个密码

@using (Html.BeginForm()) {
    <input type="radio"/>
    <input type="radio"/>
}

当你问问题时,请发布你的代码,这样我们就可以看到你做错了什么。试试这个:

 @using (Html.BeginForm()) {
        <input type="radio"/>
        <input type="radio"/>
}
@使用(Html.BeginForm()){
}

当您提出问题时,请发布您的代码,以便我们看到您做错了什么。试试这个:

 @using (Html.BeginForm()) {
        <input type="radio"/>
        <input type="radio"/>
}
@使用(Html.BeginForm()){
}

很可能是名称空间或引用问题

首先,检查以确保
System.Web.WebPages
显示在项目引用中。然后加上

@using System.Web.WebPages

在你的视野的顶端。如果解决了这个问题,您可以根据将引用移动到web.config中,这很可能是名称空间或引用问题

首先,检查以确保
System.Web.WebPages
显示在项目引用中。然后加上

@using System.Web.WebPages

在你的视野的顶端。如果修复了它,您可以将引用移动到web.config中,当您的助手函数位于App_code文件夹中时,请按照将此代码添加到助手函数中

var Html = ((System.Web.Mvc.WebViewPage)WebPageContext.Current.Page).Html;
var Ajax = ((System.Web.Mvc.WebViewPage)WebPageContext.Current.Page).Ajax;

不要忘记在文件中包含正确的名称空间:
@using….

当助手函数位于App_code文件夹中时,将此代码添加到助手函数中

var Html = ((System.Web.Mvc.WebViewPage)WebPageContext.Current.Page).Html;
var Ajax = ((System.Web.Mvc.WebViewPage)WebPageContext.Current.Page).Ajax;

别忘了在文件中包含正确的名称空间:
@using….

对我来说,这是一个缺少的名称空间,是的,但不是以下提到的名称空间:


对我来说,这是一个缺失的名称空间,是的,但不是以下提到的名称空间:


我遇到了同样的问题,并解决了它。我在views文件夹下的web.config文件中更改了版本。 这是我以前的代码

<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, **Version=5.0.2.2**, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
  <namespaces>
    <add namespace="System.Web.Mvc" />
    <add namespace="System.Web.Mvc.Ajax" />
    <add namespace="System.Web.Mvc.Html" />
    <add namespace="System.Web.Optimization"/>
    <add namespace="System.Web.Routing" />
    <add namespace="CMSSol" />
  </namespaces>
</pages>

这是我的新代码

<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, **Version=5.0.0.0**, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
  <namespaces>
    <add namespace="System.Web.Mvc" />
    <add namespace="System.Web.Mvc.Ajax" />
    <add namespace="System.Web.Mvc.Html" />
    <add namespace="System.Web.Optimization"/>
    <add namespace="System.Web.Routing" />
    <add namespace="CMSSol" />
  </namespaces>
</pages>


我遇到了同样的问题,刚刚解决了。我在views文件夹下的web.config文件中更改了版本。 这是我以前的代码

<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, **Version=5.0.2.2**, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
  <namespaces>
    <add namespace="System.Web.Mvc" />
    <add namespace="System.Web.Mvc.Ajax" />
    <add namespace="System.Web.Mvc.Html" />
    <add namespace="System.Web.Optimization"/>
    <add namespace="System.Web.Routing" />
    <add namespace="CMSSol" />
  </namespaces>
</pages>

这是我的新代码

<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, **Version=5.0.0.0**, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
  <namespaces>
    <add namespace="System.Web.Mvc" />
    <add namespace="System.Web.Mvc.Ajax" />
    <add namespace="System.Web.Mvc.Html" />
    <add namespace="System.Web.Optimization"/>
    <add namespace="System.Web.Routing" />
    <add namespace="CMSSol" />
  </namespaces>
</pages>


你“不能做”是什么意思?是否有错误消息?“System.Web.WebPages.HtmlHelper”不包含BeginForm的定义,并且找不到接受类型为“System.Web.WebPages.Html.HtmlHelper”的第一个参数的扩展方法“BeginForm”,您的意思是“不能这样做”?是否有错误消息?'System.Web.WebPages.HtmlHelper'不包含BeginForm的定义,并且可能会发现没有扩展方法'BeginForm'接受类型为'System.Web.WebPages.Html.HtmlHelper'的第一个参数,因此必须在每个帮助器方法中包含这些引用,并让Resharper抱怨变量混淆等,以在每个助手方法中包含这些引用,并让Resharper抱怨变量混淆等