【问题标题】:Asp.net MVC with Ajax history (jquery address), how to load from the URL?Asp.net MVC 与 Ajax 历史(jquery 地址),如何从 URL 加载?
【发布时间】:2010-07-07 21:20:00
【问题描述】:

我正在使用带有 ajax 导航的 asp.net mvc。我使用 jquery 地址,我可以将地址栏更改为“MYPage.Com/#/Url”,但是当用户输入该链接时如何调用我的路由?

这可能之前有人问过,但我找不到它,所以如果你找到它,请指出它。

【问题讨论】:

    标签: c# asp.net ajax asp.net-mvc jquery-address


    【解决方案1】:

    你需要使用window元素的window.onHashChange事件。最好使用 jquery bbq 之类的 javascript 库来处理哈希更改。

    如果您仍然想在不使用库的情况下执行此操作,那么在页面加载时您应该调用处理 onHashChange 的函数。

    【讨论】:

      【解决方案2】:

      没有任何事件(至少不是我最后一次检查)。您需要在 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
      

      【讨论】:

      • 谢谢,但是看看这个链接,他们好像没有计时器asual.com/jquery/address/samples/tabs
      • 插件内部有一个计时器,仅用于旧版本的 Firefox、Safari 和 Opera。
      猜你喜欢
      • 1970-01-01
      • 2012-04-07
      • 1970-01-01
      • 1970-01-01
      • 2010-10-21
      • 2012-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多