我正在苦於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