我正在构建一个简单的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. `<%= %>`)."现在,我的问题是,“还有其他方法做同样的事吗?”。
发布于 2016-09-02 14:03:18
我假设您使用的是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);
}结果如下:

希望它能帮到你。
https://stackoverflow.com/questions/39269497
复制相似问题