调查routes。他们定义了如何写一个带参数的url。
如果您创建了一个新的MVC应用程序,并查看了RegisterRoutes()下的Global.asax.cs文件。你应该看到一个条目。
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "home", action = "index", id = UrlParameter.Optional } // Parameter defaults
);
看看各部分:
- “默认” 这个名字。这对于您创建的每条路线都必须是唯一的。
- “{controller}/{action}/{id}”是您要使用的模式。
example.org/home/index?id=2
将被写入example.org/home/index/2
而不是
- 新{controller =“home”,action =“index”,id = UrlParameter.Optional}定义了默认值,如果没有指定。
所以,这条路线让它所以如果你去example.org它会假设你的意思example.org/home/index{id是可选}。
从此开始工作,您可以开始了解如何创建自己的路线。
现在,解决你的问题简单的答案是肯定的你可以使URL看起来像,但没有真正。你将不得不定义一条具有默认消息的路由,并且只有当某人没有指定消息时才会这样。你必须告诉控制器信息是什么。我很抱歉,但最好你可以做的是定义一条路线,让你
/message/Hello%20World
并使用字符串。替换使得看起来更好看`'/ message/hello_world'
来源
2012-03-12 18:46:08
Joe
你是说你想要一个默认消息,当他们不输入查询字符串?或者你想隐藏查询字符串,而不管最初在URL上发送的消息类型如何? – 2012-03-12 18:55:52
第二个,基本上我想处理消息(可以是任何东西),而不是显示在网址上。 – willvv 2012-03-12 19:30:41