asp.net-mvc – 部分视图中的Razor部分包含
发布时间:2020-05-23 21:09:51 所属栏目:asp.Net 来源:互联网
导读:我在_Layout.cshtml中有脚本部分: html body ... @RenderSection(FooterScript, required: false) /body/html 我查看了包含@ Html.RenderPartial(“LinksBlock”,someModel)的“Index.cshtml”. LinksBl
|
我在_Layout.cshtml中有脚本部分: <html>
<body>
...
@RenderSection("FooterScript",required: false)
</body>
</html>
我查看了包含@ Html.RenderPartial(“LinksBlock”,someModel)的“Index.cshtml”. 解决方法部分不适用于部分视图.但是你可以编写一对可以结合使用的自定义助手:public static class HtmlExtensions
{
public static IHtmlString RegisteredScripts(this HtmlHelper htmlHelper)
{
var ctx = htmlHelper.ViewContext.HttpContext;
var registeredScripts = ctx.Items["_scripts_"] as Stack<string>;
if (registeredScripts == null || registeredScripts.Count < 1)
{
return null;
}
var sb = new StringBuilder();
foreach (var script in registeredScripts)
{
var scriptBuilder = new TagBuilder("script");
scriptBuilder.Attributes["type"] = "text/javascript";
scriptBuilder.Attributes["src"] = script;
sb.AppendLine(scriptBuilder.ToString(TagRenderMode.Normal));
}
return new HtmlString(sb.ToString());
}
public static void RegisterScript(this HtmlHelper htmlHelper,string script)
{
var ctx = htmlHelper.ViewContext.HttpContext;
var urlHelper = new UrlHelper(htmlHelper.ViewContext.RequestContext);
var registeredScripts = ctx.Items["_scripts_"] as Stack<string>;
if (registeredScripts == null)
{
registeredScripts = new Stack<string>();
ctx.Items["_scripts_"] = registeredScripts;
}
var src = urlHelper.Content(script);
if (!registeredScripts.Contains(src))
{
registeredScripts.Push(src);
}
}
}
然后在你的_Layout.cshtml中: @Html.RegisteredScripts() 在你的部分: @{Html.RegisterScript("~/scripts/foo.js");} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 首次使用ASP.NET MVC时的主要风险
- asp.net-mvc – 洋葱建筑 – 存储库与服务?
- .net – MultipartFormDataStreamProvider vs HttpContext.
- asp.net-mvc – ASP.NET MVC HandleError不工作(customErro
- asp.net – 是否有支持请求参数连接的URL构建器?
- asp.net – System.Net.Cookie和System.Web.HttpCookie有什
- asp.net – 使用WebAPI时重新验证模型(TryValidateModel等效
- ASP.NET元:resourcekey
- 在ASP.Net图表控件上隐藏网格线
- asp.net-mvc – LINQ到EF有什么问题?
推荐文章
站长推荐
- asp.net-mvc – Actionresult vs JSONresult
- asp.net-mvc – Asp.net MVC和普通的html页面
- asp.net核心 – dotnet cli – “检测包降级”
- asp.net-mvc – 在运行时ASP.NET捆绑和缩小有什么
- asp.net-mvc – 应用程序服务层作为静态类
- asp.net – 如何正确使用RegisterForEventValida
- entity-framework – 将DbContext注入FluentVali
- asp.net – 动态更改GridView项目模板
- ASP.NET MVC中特定于视图的模型?
- asp.net-web-api – ASP.Net Web API帮助页面:记
热点阅读
