asp.net – WebForms:MasterPages中的动态(或绝对)脚本标记
问题 使用MasterPages时,我遇到的一个常见烦恼是master中的脚本标签与消费页面相关. 因此,例如,如果您的消费页面位于应用程序的根目录中,那么您的JavaScript可能会起作用,但是当您将另一个页面放在子文件夹中时,相对路径会中断,并且找不到JavaScript.在这种情况下,没有办法使用我所知道的绝对路径. 最后一次,我决定真正攻击这个并找到一个好的解决方案. 提出的解决方案 我尝试了一种策略,围绕在Page_Load中调用ClientScriptManager.RegisterClientScriptInclude,但似乎没有呈现任何内容(授予,我对相关管道的理解不完整). 我尝试了另一个看起来像这样的东西: <script language="javascript" src='<%= ResolveClientUrl("~/js/ddnmenu.js") %>' type="text/javascript"></script> …但是会引发异常:无法修改Controls集合,因为控件包含代码块. 工作(但有点难看)代码 所以,我最终得到的是Head中的Literal控件,我在其中呈现相应的Html: Protected Sub Page_Load(ByVal sender As Object,ByVal e As System.EventArgs) Handles Me.Load Me.SetupLiteralScriptsTag() End Sub Private Sub SetupLiteralScriptsTag() 'Build the script tags to import our JavaScript Dim Builder As New StringBuilder Builder.AppendLine(String.Format("<script type=""text/javascript"" src=""{0}""""></script>",ResolveClientUrl("~/js/jquery-1.3.2.min.js"))) Builder.AppendLine(String.Format("<script type=""text/javascript"" src=""{0}""""></script>",ResolveClientUrl("~/js/jquery.corners.min.js"))) Builder.AppendLine(String.Format("<script type=""text/javascript"" src=""{0}""""></script>",ResolveClientUrl("~/js/bg.pos.js"))) Builder.AppendLine(String.Format("<script type=""text/javascript"" src=""{0}""""></script>",ResolveClientUrl("~/js/moonstone.js"))) Me.LiteralScriptTags.Text = Builder.ToString End Sub 这是有效的,但我并没有对它嗤之以鼻,因为对于一个非常普遍的问题来说,似乎有点过多的解决方法.有没有更好的办法? 解决方法我到处都使用app相对语法.它确实有一个缺点,如果您更改应用程序名称/路径,那么您有很多工作要做更新所有的URL.< script language =“javascript”src =“/ MyAppName / Includes / MyJavascriptFile.js”> 或者如果您正在使用根应用程序,那么: < script language =“javascript”src =“/ Includes / MyJavascriptFile.js”> (编辑:4S站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 使用与本地化更改冲突的自定义数据注释进行
- asp.net-mvc – Visual Studio 2010 Full和ASP.NET MVC 2.0
- asp.net-mvc-3 – MVC3剃须刀:是否可以渲染传统的ASCX?
- asp.net-mvc – 是否有一个ASP MVC与JSTL标签等效?
- asp.net – 多个域的集成Windows身份验证
- asp.net-mvc – ASP.NET捆绑/分类:包括动态生成的Javascri
- asp.net – 如何从日历控件中获取所选日期?
- WPAD查询从ASP.NET调用webservice
- 使用asp.net控件创建无序列表?
- asp.net-mvc-routing – 在MVC 6控制器中使用urlhelper生成
- 如何保护我的ASP.NET AJAX应用程序?
- 为ASP.NET应用程序实现后台服务的最佳方法是什么
- asp.net – 如何在C#2.0中的Web.config中加密用户
- ASP.NET Core中实现用户登录验证的最低配置示例代
- asp.net-mvc – asp.net mvc – string或int的路
- asp.net – 在fileupload中选择立即调用C#函数文
- asp.net-mvc – 不要在ASP .NET MVC 4 BundleCon
- asp.net-web-api – Web API / MVC 6中的安全JSO
- asp.net-mvc-3 – “字段宽度必须是数字.”在客户
- asp.net-mvc – 从Api控制器内生成绝对的url to