У меня есть контроллер, в котором выполняются некоторые проверки.
Если по той или иной причине и возникает исключение, я хочу отобразить сообщения об ошибках в другом представлении в другом контроллере.
ЭтоВот как выглядит мой обработчик исключений
catch (Exception ex)
{
string infoMsg = "Delete the user and recreate is with an appropriate username of both a first and last name which is required for a doctor";
string errorMsg = ex.Message;
// ErrorController ec = new ErrorController();
return this.RedirectToAction("Index", "Error", new { errorMessage = errorMsg, infoMessage = infoMsg });
}
Это ActionResult получает вызов.
public ActionResult Index(string errorMessage, string infoMessage)
{
var db = new DB();
OccuredError occuredError = new OccuredError();
occuredError.ErrorMsg = errorMessage;
occuredError.InfoMsg = infoMessage;
DateTime dateTime = DateTime.Now;
occuredError.TimeOfError = dateTime;
db.OccuredErrors.InsertOnSubmit(occuredError);
db.SubmitChanges();
return View(occuredError);
}
Это представление индекса ошибки, которое строго набрано
<h2>Index</h2>
<table>
<tr>
<th></th>
<th>
Error Message
</th>
<th>
Info Message
</th>
<th>
Time Of Error
</th>
</tr>
<% foreach (var item in Model) { %>
<tr>
<td>
<%= Html.ActionLink("Details", "Details", new { id=item.ErrorId })%> |
</td>
<td>
<%= Html.Encode(item.ErrorId) %>
</td>
<td>
<%= Html.Encode(item.ErrorMsg) %>
</td>
<td>
<%= Html.Encode(item.InfoMsg) %>
</td>
<td>
<%= Html.Encode(String.Format("{0:g}", item.TimeOfError)) %>
</td>
</tr>
<% } %>
</table>
Моя проблема заключается в том, что пользователь НЕ перенаправляется из начального представления (того, которое имело исключение) в представление индекса ошибок.При отладке я вижу, что он проходит через Error Index ActionResult нормально и данные помещаются в БД.Я думаю, что в отображении индекса есть что-то, что вызывает проблему.
Любые предложения о том, что я делаю здесь неправильно.