只有当它是主页时才需要触发jQuery代码。
网址概率
http://www.example.com
http://www.example.com/
http://www.example.com/default.aspx
如果以上任何一个网址我可以使用
,我该如何运行代码var currenturl = window.location
但是每次我将代码移动到服务器时我必须更改这个,因为在本地主机上我的网址就像
http://localhost:90/virtualDir/default.aspx
在asp.net中我们可以使用各种来获取它
HttpContext.Current.Request.Url.AbsolutePath
要么
HttpContext.Current.Request.ApplicationPath
我不确定jQuery中的等价物是什么
asp.net example
的参考更新:
我采取了一种简单的方法,因为我找不到其他简单的方法
var _href = $(location).attr('href').toLowerCase()
var _option1 = 'http://localhost:51407/virtualDir/Default.aspx';
var _option2 = 'http://www.example.com/Default.aspx';
var _option3 = 'http://www.example.com/';
if (_href == _option1.toLowerCase() || _href == _option2.toLowerCase() || _href == _option3.toLowerCase()) {
$(".bar-height").css("min-height", "689px");
// alert('aa');
}
else
{ //alert('bb'); }
答案 0 :(得分:3)
您是否只能在需要的页面上添加脚本?即仅使用default.aspx中的<script type="text/javascript" src="homepage.js"></script>
?
如果没有,那么,正如dfsq所说 - 使用window.location.pathname
。
var page = window.location.pathname;
if(page == '/' || page == '/default.aspx'){
// -- do stuff
}
您可以在最后一次斜线后获取该部分,以解释文件夹差异......
var page = window.location.toString();
page = page.substring(page.lastIndexOf('/'));
...但 example.com/default.aspx 和 example.com/folder1/default.aspx 都是如此。
请记住,这个Javascript是客户端的,所以没有相当于您链接的C#示例。
答案 1 :(得分:0)
您可以使用我的approch确切地知道页面(也使用urlrouting)在javascript中使用它:
我使用body ID来识别页面。
javascript代码:
$(document).ready(function () {
if (document.body.id.indexOf('defaultPage') == 0) {
/*do something*/
}
});
Asp.net代码:
主页或页面中的(aspx):
...
<body id="<%=BodyId %>">
...
代码背后的代码:
private string _bodyId;
public string BodyId
{
get
{
if (string.IsNullOrWhiteSpace(_bodyId))
{
var path = GetRealPagePath().TrimStart('/','~');
int index = path.LastIndexOf('.');
if (index > -1)
{
path = path.Substring(0, index);
}
_bodyId = path.Replace("/", "_").ToLower();
}
return string.Concat(_bodyId,"Page");
}
}
public string GetRealPagePath()
{
string rtn = Request.Path;
if (Page.RouteData != null && Page.RouteData.RouteHandler!= null)
{
try
{
if (Page.RouteData.RouteHandler.GetType() == typeof(PageRouteHandler))
{
rtn=((PageRouteHandler)Page.RouteData.RouteHandler).VirtualPath;
}
else
{
rtn = Page.Request.AppRelativeCurrentExecutionFilePath;
}
}
catch (Exception ex)
{
Logger.Error(string.Format("GetRealPagePath() Request.Path:{0} Page.Request.AppRelativeCurrentExecutionFilePath:{1}", Request.Path, rtn), ex);
}
}
return rtn;
}