当前位置:  开发笔记 > 编程语言 > 正文

ASP.Net主页面和文件路径问题

如何解决《ASP.Net主页面和文件路径问题》经验,为你挑选了3个好方法。

我正在尝试在我的母版页中添加一个jQuery的脚本引用,以便它适用于任何页面.它目前看起来像这样


问题是路径始终相对于正在执行的aspx页面,所以这只有在"jquery.js"文件位于同一文件夹中时才有效.为了使它工作,我必须将行更改为:


这显然不太理想,因为它只适用于从根文件夹两层深的页面.如果我尝试以下操作,IIS会抛出有关意外字符的错误.


有任何想法吗?

编辑:我忘了也提到脚本必须在head标签中

当我将其添加到我的母版页时,当前的最佳答案会抛出" ASP.NET Ajax客户端框架无法加载. "错误.它是从javascript而不是.Net编译器抛出的.如果我将ScriptManager移动到应该是的head部分,我会收到有关需要在表单标记内的ScriptManager的编译错误.

第三个答案抛出了编译器中的" 路径中的非法字符. "异常

编辑2:当我将该行添加到我的head标签时,我从IIS中收到此错误.

无法修改Controls集合,因为控件包含代码块(即<%...%>)

已解决:我从下面的答案中获取了编辑后的响应,并将其放在asp:ContentPlaceHolder元素中



1> Cᴏʀʏ..:

你可以使用ScriptManager:


    
        
    

编辑:如果你在你的部分绝对需要这个,你可以这样做:


    

编辑2:根据评论,如果你正在观察

无法修改Controls集合,因为控件包含代码块(即<%...%>)

您可能需要更改以上内容以使用数据绑定语法:


    


这几乎在我的所有页面上都适用于我,但对于2个页面会因某个异常而爆炸:"控件集合无法修改,因为控件包含代码".解决方案是将标题中的脚本include从response.write代码块更改为数据绑定评估程序(即 - 将<%=更改为<%#).我猜想这是MS在阻止http头攻击方面的某种尝试.有关这个简单修复的更好解释,请访问:http://leedumond.com/blog/the-controls-collection-cannot-be-modified-because-the-control-contains-code-blocks/

2> Siddiq Baig..:

尝试<%#而不是<%=在head部分下的Master页面中


然后在Page_LoadEvent 下的Master Bepage下面

Page.Header.DataBind();

现在你可以使用jQuery和JavaScript以及CSS,只需要改变ResolveUrl你想要处理CSS,JavaScript,jQuery的文件的路径.



3> Keltex..:

如果您不打算使用asp:ScriptManager或绝对路径,那么您可以这样做:


推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有