如何在<script> src中提供动态查询参数?

时间:2016-09-01 10:47:46

标签: javascript asp.net src

我正在构建一个简单的asp.net应用程序,在我的 aspx 页面中,我想引用一个带有动态查询参数的脚本。

&#xA;&#xA;

例如:

&#xA;&#xA;
 &lt; script src =“。 ./javascript/script.js?v=#var#“type =”text / javascript“&gt;&lt; / script&gt;&#xA;  
&#xA;&#xA;

在上面的代码中,脚本路径可以使用不同的查询参数代替 #var#

&#xA;&#xA;

我还尝试使用以下代码从代码中获取参数值。

&#xA;&#xA;
 &lt; script src =“../javascript / script.js?v =&lt;%#myVar%&gt;” type =“text / javascript”&gt;&lt; / script&gt;&#xA;  
&#xA;&#xA;

但是,这里&lt;%#myVar%&gt ; 返回空值。如果我使用 = 而不是,那么如果我在页面底部添加脚本引用,它将完美地运行。

&#xA;&#xA;

但是,它仅在我引用页面底部的脚本时才有效。否则会抛出错误。

&#xA;&#xA;
 “控件集合无法修改,因为控件包含代码块(即`&lt;%=%&gt;`) 。“&#xA;  
&#xA;&#xA;

现在,我的问题是,”还有其他方法可以做同样的事情吗?“

&#XA;

1 个答案:

答案 0 :(得分:1)

我假设您使用ASP.net而不是MVC。我已经尝试使用ASP.net并通过代码隐藏方法完成此操作,您可以通过后面的代码创建script标记,如下所示:

protected void Page_Load(object sender, EventArgs e) {
    string jScriptValidator;
    jScriptValidator = "<script type='text/javascript' src='../javascript/script.js?v=#123'></script>"; // your dynamic script tag with dynamic parameter         
    Page.RegisterStartupScript("key", jScriptValidator);
    }

结果如下:

enter image description here

希望它对你有所帮助。