我正在尝试使用以下方法解决我头部中javascript脚本的正确路径:
<script src="<%# ResolveUrl("~/Scripts/jquery-1.4.2.min.js") %>" type="text/javascript" />
为了解决我需要使用Page.Header.DataBind();
调用数据绑定的路径,我应该将数据绑定调用放入什么事件?
感谢。
当我把它放在Page_Load中,因为文章建议它有效(仅适用于firefox),但我想知道这是不是正确的地方。
当我按照本文IE 8渲染时:
<script src="/Scripts/jquery-1.4.2.min.js" type="text/javascript" />
和firefox 3.6正确呈现:
<script src="../../Scripts/jquery-1.4.2.min.js" type="text/javascript" />
更新
通过更新引用的用户控件中的脚本引用来修复浏览器问题,以使用ResolveUrl。现在浏览器问题已修复。还在想在哪里放Databind。
答案 0 :(得分:2)
将<%#
更改为<%=
,此时您不再需要调用Page.Header.DataBind();
,因为您没有在表达式中进行任何实际的数据绑定。
有关ASP.NET标记的差异,请参阅this question。
从我在所有项目中使用的母版页:
<script type="text/javascript" src='<%= ResolveUrl("~/js/jquery-1.4.2.min.js") %>' ></script>
答案 1 :(得分:0)
修正了将ID and runat="server"
添加到链接(样式表),在标题中查找控件,在链接上调用数据绑定而不是整个标题。
答案 2 :(得分:0)
我设法通过在Page.DataBind()
上致电Page_Load
来解决此问题。
更新:仅在母版页的Page_Load
上调用它会导致gridview命令无法正常工作的一些错误。将其放入!Page.IsPostBack
检查中即可解决。