我正在构建一个简单的 asp.net 应用程序,并在我的 aspx
中页面我想引用带有动态查询参数的脚本。
例如:
<script src="../javascript/script.js?v=#var#" type="text/javascript"></script>
在上面的代码脚本路径中可以有不同的查询参数来代替 #var#
。
我还尝试了以下代码来从后面的代码中获取参数值。
<script src="../javascript/script.js?v=<%# myVar %>" type="text/javascript"></script>
但是,这里<%# myVar %>
返回空白值。如果我使用 =
而不是#
那么如果我在页面底部添加脚本引用,它就会完美地工作。
但是,只有当我引用页面底部的脚本时它才有效。否则会抛出错误。
"The Controls collection cannot be modified because the control contains code blocks (i.e. `<%= %>`)."
现在,我的问题是,“还有其他方法可以做到这一点吗?”
最佳答案
我假设您使用的是 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);
}
结果如下:
希望对您有帮助。
关于javascript - 如何在<script> src中给出动态查询参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39269497/