代码之家  ›  专栏  ›  技术社区  ›  AaronSieb

如何在每个部分视图中包含一个外部javascript文件?

  •  5
  • AaronSieb  · 技术社区  · 15 年前

    我有一个部分视图(usercontrol),它在我的asp.net mvc项目中实现了一个简单的寻呼机。无论父页上有多少页程序控件实例,此页程序都需要访问一个需要包含一次的.js文件。

    我试着用 Page.ClientScript.RegisterClientScriptInclude ,但它没有效果(我想是因为代码块的计算太晚,无法影响头部控制)。有什么简单的选择吗?

    3 回复  |  直到 15 年前
        1
  •  2
  •   kevingessner    15 年前

    插旗子 HttpContext.Current.Items 当你发送你的部分脚本-它是一个字典,为整个请求逗留。例如。:

    if (!HttpContext.Current.Items.Contains("SentTheScript"))
    {
        HttpContext.Current.Items["SentTheScript"] = true;
        Response.Write(Html.ScriptTag("Script"));
    }
    

    这样最多只能一次渲染。

        2
  •  2
  •   Alastair Pitts    15 年前

    添加到母版页。

    然后你可以保证它只被包含一次,而且你不会忘记它。有了现代缓存,在每一页上都包含它确实不会有性能损失。

        3
  •  1
  •   Fitzchak Yitzchaki    15 年前

    Page.ClientScript.RegisterClientScriptInclude 与传统的asp.net一起使用。

    因为您使用的是asp.net-mvc,所以您只需要添加 script 指令 js 文件到使用此用户控件的页。

    由于对所有站点只有一个缩小的css文件是一个很好的实践,您可能希望将此文件包含在主css缩小文件中。