本文介绍了用于管理 Razor 局部视图脚本的 HtmlHelpers的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用 Forloop HtmlHelpers 来管理 Razor Partial Views 的脚本在我的 ASP.Net MVC 4 项目中.

 

//这里有一些标记

@{//开始脚本的上下文Html.BeginScriptContext();Html.AddScriptBlock(@"$(function() { alert('hello from the page'); } });");Html.AddScriptFile("~/Scripts/jquery-ui-1.8.11.js");//结束脚本上下文Html.EndScriptContext();}

但是,它在编译过程中抛出以下错误 -

'System.Web.Mvc.HtmlHelper' 不包含定义'BeginScriptContext' 和无扩展方法 'BeginScriptContext'接受类型的第一个参数可以找到System.Web.Mvc.HtmlHelper"(您是否缺少using 指令或程序集引用?)

我已经通过包管理器控制台安装了这个包.如何克服这个问题?

谢谢.

解决方案

需要添加Forloop.HtmlHelpers命名空间

 <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/><pages pageBaseType="BaseTemplate.Web.Extensions.BaseTemplateWebViewPage"><命名空间><!-- 将以下命名空间添加到其他命名空间 --><add namespace="Forloop.HtmlHelpers"/></命名空间></页面></system.web.webPages.razor>

到应用程序中 Views 文件夹内的 Web.config.

EDIT : This is now performed as part of the nuget package installation.

Also, I would recommend using the following syntax as it's a little more terse

@using (Html.BeginScriptContext())
{
    Html.AddScriptBlock(
       @<script type="text/javascript">
           $(function() { alert('hello from the page'); } });
       </script>);
    Html.AddScriptFile("~/Scripts/jquery-ui-1.8.11.js");
}

这篇关于用于管理 Razor 局部视图脚本的 HtmlHelpers的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-14 21:54