Html.BeginForm () с генератором бритвы - PullRequest
1 голос
/ 09 марта 2012

Я делаю хелпер с генератором бритвы для создания элемента управления cutom, в котором будут две радиокнопки (да / нет) Я хочу использовать Html.BeginForm для этого.

Но не могу этого сделать.

Вы знаете, как это сделать или другой способ сделать это?

Спасибо.

Редактировать:

Когда я ставлю этот код

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

Я получаю эту ошибку

'System.Web.WebPages.HtmlHelper' does not contain a definition for BeginForm and no extension method
'BeginForm' accepting a first argument of type 'System.Web.WebPages.Html.HtmlHelper'could be found 

Ответы [ 5 ]

3 голосов
/ 11 ноября 2012

Для меня это было пропущенное пространство имен, да, но не упомянутое eouw0o83hf :

@using System.Web.Mvc.Html;
3 голосов
/ 09 марта 2012

Скорее всего, проблема с именами или ссылками.

Сначала убедитесь, что System.Web.WebPages отображается в ссылках вашего проекта. Затем добавьте

@using System.Web.WebPages

к началу вашего обзора. Если это исправит это, вы можете переместить ссылку в web.config для этого ответа на тему того же типа

3 голосов
/ 09 марта 2012

Добавьте этот код к своей вспомогательной функции, когда ваши вспомогательные функции находятся в папке App_Code.

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

Не забудьте включить в файл правильные пространства имен: @using ....

1 голос
/ 09 марта 2012

Пожалуйста, оставьте свой код, когда вы задаете вопрос, чтобы мы могли видеть, что вы делаете неправильно. Попробуйте это:

 @using (Html.BeginForm()) {
        <input type="radio"/>
        <input type="radio"/>
}
0 голосов
/ 02 февраля 2016

Я столкнулся с той же проблемой и просто решил ее.Я изменил версию в файле web.config в папке views.Вот мой предыдущий код

<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>

...