如何注入脚本标记,例如
<script src="somejsfile"></script>
或
<script type="text/javascript>some javascript</script>
从局部视图进入页面的head标签?
更新:回答旧问题 这是关于ASP.NET MVC。我们可以使用RenderSection。这里是使用Razor视图引擎的MVC 3示例:
布局视图或母版页:
<html>
<head>
<script ...></script>
<link .../>
@RenderSection("head")
</head>
<body>
...
@RenderBody()
...
</body>
</html>
查看,例如主页:
@section head{
<!-- Here is what you can inject the header -->
<script ...></script>
@MyClass.GenerateMoreScript()
}
<!-- Here is your home html where the @RenderBody() located in the layout. -->
答案 0 :(得分:2)
即使THX的答案有效,但它并不是一个好的,因为MVC的意图是无国界的无国籍。此外,他的解决方案不允许您将脚本放在应该去的位置 - 大多数网站都希望在 </body>
标记之前的页面底部进行脚本声明,因为它最适合性能和搜索引擎优化。
有一个答案,感谢Darin Dimitrov:
Using sections in Editor/Display templates
他的回答允许您在布局视图中从局部视图中注册脚本。
警告是他的答案使用字典对象中的GUID标记项目,因此无法保证脚本将按照部分视图中列出的顺序在母版页中呈现。
有两种解决方法:
我正在努力研究后来的自己。
祝你好运。答案 1 :(得分:0)
部分观点为UserControl
。你不能使用RegisterClientScriptInclude
的{{1}}方法吗?
ClientScriptManager