Asp.net Mvc Framework可以在Controller中使用的Url.Action方法

原本的Url.Action方法是利用RouteCollection来实现Url的Routing的。

所以这里用一个扩展方法重现一下

  1. using System.Web.Routing;
  2.     static public class CUrl {
  3.         public static string Action(this Controller c, string controller, string action) {
  4.             RouteValueDictionary rvd = new RouteValueDictionary();
  5.             rvd.Add("controller", controller);
  6.             rvd.Add("action", action);
  7.             return RouteTable.Routes.GetVirtualPath(c.ControllerContext, rvd).VirtualPath;
  8.         }
  9.     }
使用方法:
  1. public ActionResult Index() {
  2.             ViewData["Message"] = this.Action("home""about");
  3.             return View();
  4.         }

你可能感兴趣的:(mvc,url,asp.net,扩展,action)