ASP.Net mvc2 url 格式问题

Posted

技术标签:

【中文标题】ASP.Net mvc2 url 格式问题【英文标题】:ASP.Net mvc2 url format issue 【发布时间】:2012-08-21 15:34:11 【问题描述】:

在我的 mvc2 项目中,一些 URL 显示在浏览器中,如下所示,

localhost:53289/Paper/ViewAgendaPaper?MeetingId=186&type=2&RefId=186

但我更喜欢这样,

localhost:53289/Paper/ViewAgendaPaper

在我的 Global.asax 中,

routes.MapRoute(
                "Default", // Route name
                "controller/action/id", // URL with parameters
                new  controller = "Default", action = "Index", id = UrlParameter.Optional  // Parameter defaults
            );

如何隐藏 URL 中的 id 字段。请给我一些想法。谢谢。

【问题讨论】:

【参考方案1】:

你不能用一个简单的链接做你所要求的。一个锚链接<a>...</a> 执行一个简单的GET。如果要隐藏参数,则需要对相关页面进行 POST。

【讨论】:

【参考方案2】:

据我所知,您不能隐藏 ID,因为它们应该被传递以获取确切的数据,而不是

localhost:53289/Paper/ViewAgendaPaper?MeetingId=186&type=2&RefId=186

你可以这样:

localhost:53289/Paper/ViewAgendaPaper/186/2/186

阅读这篇文章将对您有更多帮助: How can I create a friendly URL in ASP.NET MVC?

【讨论】:

您制作上述链接的地方,只需更改它并使其看起来像我告诉您的那样,一切都会正常。

以上是关于ASP.Net mvc2 url 格式问题的主要内容,如果未能解决你的问题,请参考以下文章

Wordpress 类似于 ASP.NET MVC2/3 或 ASP.NET 4.0 中的动态永久链接

在哪里可以找到在 ASP .NET MVC2 中实现密码恢复的 C# 示例代码

带有前缀的控件的 Asp.Net MVC2 客户端验证问题

ASP.NET MVC2 AsyncController 可以访问 HttpContext.Current 吗?

ASP.NET MVC2 自定义 jQuery 验证:客户端

ASP.NET MVC2 Membership:如何获取登录用户的 userID 和 roleID?