1

我正在 ASP.NET MVC 4 中构建一个分页脚本,我希望能够获取页面的当前 URL

 /Cards/Search?Page=&Terms=&Display=false

并更改 Page 参数的值。我该怎么做?

4

2 回答 2

1

这可能不是最有效的方法,但它确实适用于我正在做的事情:

RouteValueDictionary rvd = new RouteValueDictionary();
foreach(string item in Request.QueryString){
    if (item != "Page") { rvd.Add(item, Request[item]); }
} 
rvd.Add("Page", 1);

Url.Action("Action", rvd)
于 2012-12-16T16:38:02.160 回答
-1

建议你看看 RouetConfig 是如何工作的。 http://www.asp.net/mvc/tutorials/controllers-and-routing

从这里开始 global.asax

  protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();

        WebApiConfig.Register(GlobalConfiguration.Configuration);
        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        RouteConfig.RegisterRoutes(RouteTable.Routes); // Research this
        BundleConfig.RegisterBundles(BundleTable.Bundles);

没有什么能阻止你调用你的控制器动作。您也可以在那里重定向

RedirectToAction("Action","controller");

或直接重定向...

Redirect(myHackedUrl);

如果这是一个更具体的永久网络规则,那么在 IIS 级别还有一个非常有用的工具来管理重定向。 http://www.iis.net/downloads/microsoft/url-rewrite

于 2012-12-16T10:30:07.617 回答