Asp.net-Mvc
如何使用 global.asax 中的參數創建控制器對象並執行操作
我有這個程式碼
global.asaxprotected void Application_Error(object sender, EventArgs e) { // ... var routeData = new RouteData(); routeData.Values.Add("controller", "Home"); routeData.Values.Add("action", "Error"); IController controller = new Controllers.HomeController(); controller.Execute(new RequestContext(new HttpContextWrapper(Context), routeData)); }如何將參數添加到 Action 方法 / RouteData ?我想向使用者顯示異常消息。
我已經想通了,
routeData.Values.Add("message", exception.Message);並在行動中抓住那個參數
public ActionResult Index(string message)
要顯示自定義錯誤頁面,您需要更改 web.config。
<system.web> <customErrors mode="On" defaultRedirect="~/Error"> <error redirect="~/Error/NotFound" statusCode="404" /> </customErrors> </system.web>您可以為不同的狀態程式碼創建錯誤頁面。
確保您有控制器和操作方法來返回視圖。
在 Application_error MVC 之後,它自己將重定向到 web.config 中描述的同一頁面。
請參閱此連結以獲取更多資訊。