【发布时间】:2013-03-25 02:29:52
【问题描述】:
我需要更改地址栏上的URL。
我查找了URL Rewrite,但据我所知,它适用于这样的请求:
url.com/mypage.aspx?xp=asd&yp=okasd
并将其转换为:
url.com/mypage/asd/okasd
http://www.iis.net/downloads/microsoft/url-rewrite
那不是我的范围。我已经有MVC Routes 与url.com/mypage 合作。问题是当我输入URL 时,我被重定向(这是我想要的行为)到url.com/otherpage/actionX?param=value。问题是我仍然希望地址栏显示url.com/mypage。 URL Rewrite 会为此工作吗?
我问是因为我不知道它是否会起作用,因为它是内部重定向(RedirectToAction)而不是“常规”访问。
如果有人想知道为什么我不能为此制定路线,正如我的问题中所解释的那样,我已经有一条规则用于 url.com/mypage 重定向到决定调用什么操作的“路由器”。
我看到了一些问题,但我认为它们并未涵盖我的具体问题:
C# - How to Rewrite a URL in MVC3
更新
这是我的路线:
routes.MapRoute(
"Profile", // Route name
"{urlParam}", // URL with parameters
new { controller = "Profile", action = "Router" } // Parameter defaults
);
在Router 操作中,我根据在urlParam 上完成的一些验证重定向到正确的操作。我需要这种行为,因为每个操作都会返回不同的View。
更新了我的标签,因为我现在使用的是 MVC4
谢谢。
【问题讨论】:
-
@ConradClark 这似乎很有趣,我会看看这是否适用于我的情况。谢谢。
-
它对你有用吗?如果是,请标记答案。
标签: c# asp.net-mvc-4 url-rewriting