如何注入脚本标记,如
<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>
视图,例如Home:
@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. -->
发布于 2011-12-07 07:45:18
即使THX的答案有效,它也不是一个好的答案,因为MVC的意图是本质上是无状态的。此外,他的解决方案不允许您将脚本放在它们应该放的地方-大多数站点都希望将脚本声明放在页面的最底部,就在</body>
标记之前,因为这对性能和搜索引擎优化最好。
多亏了Darin Dimitrov,才有了答案
Using sections in Editor/Display templates
他的回答允许您从布局视图中的局部视图注册脚本。
注意事项是他在字典对象中使用GUID标记项目的答案,因此不能保证脚本在母版页中的呈现顺序与它们在局部视图中列出的顺序相同。
有两种解决方法:
我自己也在试着做后面的工作。
祝好运。
发布于 2009-11-20 12:24:04
分部视图是UserControl
%s。不能使用ClientScriptManager
的RegisterClientScriptInclude
方法吗
protected override void OnLoad(EventArgs e) {
base.OnLoad(e);
Page.ClientScript.RegisterClientScriptInclude("some key", "http://website/javascript.js");
}
https://stackoverflow.com/questions/1768132
复制相似问题