【问题标题】:How do we know the outgoing url of the MVC application?我们如何知道 MVC 应用程序的传出 url?
【发布时间】:2011-06-03 15:42:38
【问题描述】:

我有一个 ASP.NET MVC 应用程序,它有一个名为 Products 的视图。

此产品视图具有使用 NavMenuProducts.ascx 部分视图实现的左侧菜单导航。此菜单是使用 JQuery Treeview 实现的,因此它具有 ProductNames 列表作为父节点并且它是可扩展的(例如:10 个产品)。这些产品中的每一个都有一个作为 DocTypeName 的 ChildNode,它是一个超链接(例如:3 个 DocTypeNames)。

当用户单击 ChildNode 超链接时,所有匹配的文档都会显示出来,并使用 Ajaxy 调用实现。让用户有更好的UI体验,显示URL始终为http://DocShare

现在根据用户点击的链接,我怎么知道传出的 url? (例如:虽然显示的是http://DocShare,但url可能是http://DocShare/Products/Product1/Letter

感谢您的回复。

谢谢

【问题讨论】:

  • 你能给我看一些脚本来解释你是如何实现 ajax 调用的吗?
  • 请注意,在始终保持 URL 不变的情况下通过 AJAX 执行所有操作不是更好的 UI 体验。这会破坏书签和后退按钮。如果您不想执行完整请求和页面重新呈现,请查看众多 jquery 历史插件之一。
  • 不清楚问题是什么。那么问题是什么? URL 是由控制器和 action 及其参数决定的,渲染时必须在视图中编写相同的 URL,那么有什么问题?
  • stackoverflow.com/questions/4590863/… 的完全相同的副本

标签: asp.net-mvc asp.net-mvc-2 asp.net-ajax asp.net-mvc-routing


【解决方案1】:

在 Facebook 和 Twitter 上,异步加载的内容会通过将加载内容的永久链接添加为 URL 的锚点/哈希值中的值来修改当前页面 URL。例如:http://www.website.com/#!path/to/some/content

jQuery BBQ 是一个优秀的插件,它通过在事件发生时更新当前 URL 来创建客户端操作的可导航历史。 jQuery BBQ 可以响应对当前页面散列的更改,以便可以解析散列中的特定项目/值,然后用于发起对所需内容的客户端请求。

jQuery BBQ Plugin

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-02
    • 1970-01-01
    • 2021-01-22
    相关资源
    最近更新 更多