在URL中使用'#'是什么以及如何使用#

时间:2011-11-21 00:06:39

标签: asp.net-mvc-3 url razor

在我的应用程序中,我有一个用于查看项目的布局页面:

此页面有4个子页面(详细信息,照片,地址和注释)。

示例:

/myproject =打开详细信息页面

/myproject/Photos =打开照片页面

/myproject/Addresses =打开页面地址

/myproject/Comments =打开评论页面

问题

如何使用#通过ajax将网页加载到网址?

示例

/myproject =打开详细信息页面

/myproject#Photos =打开照片页面

/myproject#Addresses =打开页面地址

/myproject#Comments =打开评论页面

在我有四个按钮的页面布局中,单击照片,例如,页面将通过ajax加载。和网址

来自/myproject

/myproject#Photos

恢复

如何在asp.net MVC中使用'#'?

2 个答案:

答案 0 :(得分:1)

它们通常称为URL片段,用作页面上的书签以导航到该页面的不同部分。单击时,它们会将当前加载的页面向下滚动到匹配的标记名称。我建议不要将它们用作不同页面的路径。

您可以通过在Htmlhelper中指定fragment来将它们用作书签:

@Html.ActionLink("My Photos", "Action", "Controller", null, null, "Photos", null, null)

然后在代表照片子页面的照片部分中,将html id 属性设置为div或标签中的“Photos”或代表Photos部分开头的任何内容。使用@Html.ActionLink创建的链接将查找与您在片段中输入的单词匹配的html元素ID。

有关详细信息,请参阅LinkExtensions.ActionLink Method

答案 1 :(得分:0)

对不起,大脑放屁......你需要客户端的一切......

我将使用以下jQuery插件来解析URL片段:

http://benalman.com/projects/jquery-urlinternal-plugin/

然后调用MyDiv.Load('yourcontenthere')将您想要的内容加载到所需的DIV中。