2

部分ビューの形で例外をクライアントに返す必要がある状況があります。これが私のコードです

            catch(PasswordException ex)
            {
                Response.StatusCode = 500;
                ViewBag.Message = ex.Message;
                return PartialView("Exception");
            }

応答ステータス コードを 500 に設定しているため、応答は ajax 呼び出しのエラー セクションでキャッチされます。

これは問題なく機能しますが、この例外にフラグを立てるためだけにサーバー エラーを返すのは少しやり過ぎのようです。

これを行うためのより良い/標準的な方法はありますか?

4

2 に答える 2

0

web.config でエラーを宣言できます。

  <customErrors mode="On" defaultRedirect="~/Error">
   <error redirect="~/Error/ServerError" statusCode="500" />
   <error redirect="~/Error/NotFound" statusCode="404" />
 </customErrors>

次に、次の場所で管理しますErrorController

public class ErrorController : Controller
{
    public ViewResult Index()
    {
        return PartialView("Error");
    }
    public ViewResult ServerError()
    {
        Response.StatusCode = 500; 
        return PartialView("ServerError");
    }

     public ViewResult NotFound()
    {
        Response.StatusCode = 404; 
        return PartialView("NotFound");
    }
}
于 2013-10-17T11:05:22.277 に答える