我正在苦于MVC--我喜欢它 - 而且它的特性。 我想在Application_Start事件中加载一个菜单。 我想加载一些具有正确url(controllerName/actionName)的链接,但我无法使用Url.Action或其他方法来构建路径。ASP.NET MVC:Application_Start和Url.Action
任何人都可以帮助我吗?
我正在苦于MVC--我喜欢它 - 而且它的特性。 我想在Application_Start事件中加载一个菜单。 我想加载一些具有正确url(controllerName/actionName)的链接,但我无法使用Url.Action或其他方法来构建路径。ASP.NET MVC:Application_Start和Url.Action
任何人都可以帮助我吗?
为什么要在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指向该缓存一个动作,或者类似的东西。
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
}
注意:集成模式失败:http://blogs.iis.net/mvolo/archive/2007/11/10/Request-is-not-available-in-this-context-exception-in-Application_5F00_Start。 aspx – 2013-01-29 21:40:56
是的,我想要做一些缓存。谢谢。有用。 – LeftyX 2009-11-26 15:28:04
如果有效,请将其标记为已接受的答案。它的stackoverflow是如何工作的! :) – 2009-11-27 09:36:12
注意:集成模式失败:http://blogs.iis.net/mvolo/archive/2007/11/10/Request-is-not-available-in-this-context-exception-in-Application_5F00_Start。 ASPX – 2013-01-29 21:41:43