首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从局部视图添加对html head标记的脚本引用

从局部视图添加对html head标记的脚本引用
EN

Stack Overflow用户
提问于 2009-11-20 11:21:57
回答 2查看 6.6K关注 0票数 16

如何注入脚本标记,如

代码语言:javascript
复制
<script src="somejsfile"></script>

代码语言:javascript
复制
<script type="text/javascript>some javascript</script>

从局部视图添加到页面的head标记中?

更新:老问题的答案这是关于ASP.NET MVC的。我们可以使用RenderSection。以下是使用Razor视图引擎的MVC 3的示例:

布局视图或母版页:

代码语言:javascript
复制
<html>
  <head>
  <script ...></script>
  <link .../>
  @RenderSection("head")
  </head>
  <body>
  ...
  @RenderBody()
  ...
  </body>
</html>

视图,例如Home:

代码语言:javascript
复制
@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. -->
EN

回答 2

Stack Overflow用户

发布于 2011-12-07 07:45:18

即使THX的答案有效,它也不是一个好的答案,因为MVC的意图是本质上是无状态的。此外,他的解决方案不允许您将脚本放在它们应该放的地方-大多数站点都希望将脚本声明放在页面的最底部,就在</body>标记之前,因为这对性能和搜索引擎优化最好。

多亏了Darin Dimitrov,才有了答案

Using sections in Editor/Display templates

他的回答允许您从布局视图中的局部视图注册脚本。

注意事项是他在字典对象中使用GUID标记项目的答案,因此不能保证脚本在母版页中的呈现顺序与它们在局部视图中列出的顺序相同。

有两种解决方法:

  1. 仅从部分视图注册1个脚本,以支持订购

我自己也在试着做后面的工作。

祝好运。

票数 2
EN

Stack Overflow用户

发布于 2009-11-20 12:24:04

分部视图是UserControl%s。不能使用ClientScriptManagerRegisterClientScriptInclude方法吗

代码语言:javascript
复制
protected override void OnLoad(EventArgs e) {
    base.OnLoad(e);
    Page.ClientScript.RegisterClientScriptInclude("some key", "http://website/javascript.js");
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1768132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档