Я разработал контроллер под названием ErrorController
с методами, как Forbidden
или NotFound
, так что я мог бы добавить в Web.config следующие строки:Возвращающиеся пользовательские ошибки
<customErrors mode="On" defaultRedirect="~/Error/Unknown" />
<error statusCode="404" redirect="~/Error/NotFound" />
<error statusCode="403" redirect="~/Error/Forbidden" />
</customErrors>
Так что теперь я хочу, чтобы быть в состоянии сделать что-то вроде что:
public ActionResult Edit(int idObject)
{
if(user.OnwsObject(idObject))
{
// lets edit
}
else
{
// ** SEND AN ERROR 403 ***
// And let ASP.NET MVC with IIS manage that error to send
// the requester to the Web.config defined error page.
}
}
проблема заключается в том, что я пытался что-то вроде: (A) throw new HttpException(403, "Error description");
: в результате исключения необработанное, что приводит к сбою системы, (B) return HttpStatusResultCode(403, "Error description")
: в результате в системе defau lt страницы для этих ошибок.
Что следует использовать вместо этого?
Заранее спасибо.
сделал вы пытаетесь добавить Response.StatusCode = 403 ; ? а затем вернуть Json в результате описания ошибки? – taffarel
Показывает страницу по умолчанию IIS, а не пользовательскую :( –