2013-09-06 3 views
-1

Мне нужно перейти на определенную страницу, если этот код имеет ошибку, может ли кто-нибудь мне помочь?Перенаправление на веб-страницу при возникновении ошибки в представлении

Я оставляю чернь у черных, есть ли какой-то код, который перенаправит меня на мой Error Controller Index?

try 
{ 
    var tree = ViewData["data"] as IEnumerable<PrototypeHelp.Models.Treeview>; 
} 
catch (Exception) 
{ 

} 
+0

Ваш вопрос [ambigious] (http://www.merriam-webster.com/dictionary/ambiguous), потому что это обычно не возможно иметь исключение брошенную в представлении бритвы двигатель. Обычно исключения происходят в контроллерах или в представлениях. Вы имеете в виду этот код в представлении? –

+0

yes его в представлении im обрабатывая viewdata, если он имеет ошибку, он будет перенаправлен на определенную страницу, как я упоминал в этом сообщении. Я просто не опубликовал все коды, есть ли способ? – Don

+1

вы должны перенести перенаправление на свой контроллер. Как бы вы протестировали свое мнение, если вы ввели в него перенаправление? – fengd

ответ

1

Вы можете обработать исключение в файле global.asax. это будет обрабатывать исключения на уровне приложения, включая страницу или контроллер.

Пример кода:

protected void Application_Error(object sender, EventArgs e) { 
    Exception exception = Server.GetLastError(); 
    Response.Clear(); 

    HttpException httpException = exception as HttpException; 

    if (httpException != null) { 
    string action; 

    switch (httpException.GetHttpCode()) { 
     case 404: 
     // page not found 
     action = "HttpError404"; 
     break; 
     case 500: 
     // server error 
     action = "HttpError500"; 
     break; 
     default: 
     action = "General"; 
     break; 
     } 

     // clear error on server 
     Server.ClearError(); 

     Response.Redirect(String.Format("~/Error/{0}/?message={1}", action, exception.Message)); 
    } 
+0

ok, если я сделал это, не нужно включать попытку catch в каждый код? – Don

+0

Большое спасибо .... – Don

+0

Да Вам не нужно :) –

Смежные вопросы