Asp.net mvc 3 如何使用Razor创建HtmlHelper扩展?
我看到了这个语法:Asp.net mvc 3 如何使用Razor创建HtmlHelper扩展?,asp.net-mvc-3,razor,Asp.net Mvc 3,Razor,我看到了这个语法: @helper IncludeJS(string url) { <script src="@url" type="text/javascript"></script> } 我得到了这个错误: CS1061: 'System.Web.Mvc.HtmlHelper<dynamic>' does not contain a definition for... CS1061:'System.Web.Mvc.HtmlHelper'不包含对
@helper IncludeJS(string url)
{
<script src="@url" type="text/javascript"></script>
}
我得到了这个错误:
CS1061: 'System.Web.Mvc.HtmlHelper<dynamic>' does not contain a definition for...
CS1061:'System.Web.Mvc.HtmlHelper'不包含对。。。
如何创建自定义的HtmlHelper扩展并在MVC3(Razor)上使用它?帮助程序创建普通的页面方法,而不是扩展方法:
@IncludeJS("")
如果要创建Html
扩展方法,则需要为HtmlHelper
类创建一个普通扩展方法(在.cs
文件中)。如果这样做,可以使用
TagBuilder
类
编辑:。帮助程序创建普通页面方法,而不是扩展方法:
@IncludeJS("")
如果要创建Html
扩展方法,则需要为HtmlHelper
类创建一个普通扩展方法(在.cs
文件中)。如果这样做,可以使用
TagBuilder
类
编辑:。我遇到了同样的错误,因为我遇到了以下问题:
<system.web>
<pages>
<namespaces>
<add namespace="MyNamespace"/>
当我需要这个的时候:
<system.web.webPages.razor>
<pages>
<namespaces>
<add namespace="MyNamespace"/>
换句话说,在/Views中的Web.Config中有多个标记,特别是如果您使用的视图引擎多于Razor。如果希望在cshtml文件中显示HtmlHelper扩展名,则需要确保将此行添加到Razor部分。我遇到同样的错误,因为我遇到了以下问题:
<system.web>
<pages>
<namespaces>
<add namespace="MyNamespace"/>
当我需要这个的时候:
<system.web.webPages.razor>
<pages>
<namespaces>
<add namespace="MyNamespace"/>
换句话说,在/Views中的Web.Config中有多个标记,特别是如果您使用的视图引擎多于Razor。如果你想让你的HtmlHelper扩展显示在你的cshtml文件中,你需要确保将这一行添加到Razor部分。删除
Html.IncludeJS
行我在IncludeJS
->CS0103中得到这个错误:当前上下文中不存在名称“IncludeJS”
删除Html.IncludeJS
对于IncludeJS
->CS0103,我得到了这一错误:当前上下文中不存在名称“IncludeJS”