繁体   English   中英

从master获取正确的* .aspx页面以获取JS

[英]Get correct *.aspx page from master for JS

我有一个母版页,其中一些脚本调用web方法。 我的内容页继承自中间基类,它实现了[WebMethod] void SetSomeParam(bool flag) 问题是母版页中的脚本不知道,他需要哪个URL, ~/default1.aspx/SetSomeParam~/default2.aspx/SetSomeParam
如何从主页面获取正确的URL(请不要使用代码隐藏)。


UPDATE: <%=Page.ToString()%>/SetSomeParam提供类似ASP.pages_default1_aspx/SetSomeParam输出,但工作URL必须是default.aspx/SetSomeParam

有两种方法可以在客户端获取页面名称。

  1. 从window.location.pathname中提取它

     var url = window.location.pathname; var myPageName = url.substring(url.lastIndexOf('/') + 1); alert(myPageName); 
  2. 使用Asp.net的Path.GetFileName

     var page = '<%=Path.GetFileName(Request.Path)%>' 

您可以在母版页JS中创建一个有效的URL,如下所示:

var url = document.URL.replace(/\/?$/, '/') + 'SetSomeParam';

您可以使用表单操作。

您应该在页面中有一个表单元素,如下所示:

<form id="form1" action="default1.aspx" method="post" name="form1">

您可以使用以下内容检索操作:

document.getElementById("form1").action

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM