【发布时间】:2010-07-07 21:20:00
【问题描述】:
我正在使用带有 ajax 导航的 asp.net mvc。我使用 jquery 地址,我可以将地址栏更改为“MYPage.Com/#/Url”,但是当用户输入该链接时如何调用我的路由?
这可能之前有人问过,但我找不到它,所以如果你找到它,请指出它。
【问题讨论】:
标签: c# asp.net ajax asp.net-mvc jquery-address
我正在使用带有 ajax 导航的 asp.net mvc。我使用 jquery 地址,我可以将地址栏更改为“MYPage.Com/#/Url”,但是当用户输入该链接时如何调用我的路由?
这可能之前有人问过,但我找不到它,所以如果你找到它,请指出它。
【问题讨论】:
标签: c# asp.net ajax asp.net-mvc jquery-address
你需要使用window元素的window.onHashChange事件。最好使用 jquery bbq 之类的 javascript 库来处理哈希更改。
如果您仍然想在不使用库的情况下执行此操作,那么在页面加载时您应该调用处理 onHashChange 的函数。
【讨论】:
没有任何事件(至少不是我最后一次检查)。您需要在 JS 中创建一个检查器函数,例如每 100 毫秒运行一次(或更频繁)。
var currentHash="";
function CheckHash()
{
if(currentHash!=window.location.hash)
{
currentHash=window.location.hash;
NavigateTo(currentHash); //or whatever code to execute when address behind `#` changes
}
}
CheckHash(); //Initial Run, for fast reaction on load
window.setInterval(CheckHash,100); //schedules the function to run once every 100ms
【讨论】: