我在 MVC 上苦苦挣扎——我喜欢它——它的特性。我正在尝试在 Application_Start 事件中加载菜单。我想用正确的 url (controllerName/actionName) 加载一些链接,但我不能使用 Url.Action 或其他方法来构建路径。
有谁能够帮我?
我在 MVC 上苦苦挣扎——我喜欢它——它的特性。我正在尝试在 Application_Start 事件中加载菜单。我想用正确的 url (controllerName/actionName) 加载一些链接,但我不能使用 Url.Action 或其他方法来构建路径。
有谁能够帮我?
protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
var context = new HttpContextWrapper(HttpContext.Current);
var routeData = RouteTable.Routes.GetRouteData(context) ?? new RouteData();
var requestContext = new RequestContext(context, routeData);
var urlHelper = new UrlHelper(requestContext);
var url = urlHelper.Action("Home", "Index");
// TODO: do something with the url
}
为什么要在 application_start 中构建菜单?是为了某种缓存吗?反正就到这里了。。
RegisterRoutes(RouteTable.Routes);
var httpContext = new HttpContextWrapper(HttpContext.Current);
UrlHelper urlHelper = new UrlHelper( new RequestContext(httpContext, new RouteData()));
var urlToHome = urlHelper.RouteUrl("Home");
我宁愿建议在您的母版页上执行 RenderAction 指向缓存的操作或类似的操作。