簡體   English   中英

ASP.NET MVC4自定義異常處理C#

[英]ASP.NET MVC4 Custom Exception Handling C#

我正在嘗試創建一個自定義錯誤頁面來處理在驗證注冊表單時引發的錯誤。 我正在使用C#ASP.NET MVC4。我已經嘗試了多種方法,但最終都遇到了各種錯誤。 使用標准錯誤,系統可以正常運行,但是不適用於自定義錯誤。

嘗試簡單地執行<customErrors mode="on" />此錯誤。

運行時錯誤

說明:服務器上發生應用程序錯誤。 該應用程序的當前自定義錯誤設置阻止查看該應用程序錯誤的詳細信息。

嘗試使用<customErrors mode="on" defaultRedirect="~/Views/Shared/Error.cshtml" />或同時使用自定義控制器<customErrors mode="On" defaultRedirect="~/Error' />我收到此錯誤

運行時錯誤

說明:處理您的請求時發生異常。 此外,在執行第一個異常的自定義錯誤頁面時發生另一個異常。 該請求已終止。

這是來自控制器的適當代碼

[HttpPost]
        public ActionResult Confirm(User data)
        {
            Boolean error = false;
            User newUser = new User(data);

            if (ModelState.IsValid)
            {
                foreach (User u in _users)
                {
                    if (newUser.email.Equals(u.email))
                    {
                        error = true;
                    }
                }
                if (error == true)
                {
                    throw new Exception("That email already exists!");
                }
                _users.Add(newUser);
            }
            else
            {
                throw new Exception("Invalid data entry, please try again.");
            }
                return RedirectToAction("Login", "Countdown");
        }

Errors.cshtml(錯誤控制器返回相似的視圖)

@model System.Web.Mvc.HandleErrorInfo

<div class="container">
        <div class="row">
            <div class="col-xs-1">
                <img src="http://i1382.photobucket.com/albums/ah259/rogha189/running-stopwatch-1_zps95faa3c7.jpg" "></div>
            <div class="col-xs-1 col-xs-offset-1">
                <h3>An Error has occurred.</h3>

            </div>
        </div>
        <div class="row">
            <div class="col-xs-6 col-xs-offset-3">
                @if (Model != null)
                    {
                        <p>@Model.Exception.Message</p>
                    }
            </div>
        </div>

在“ Errors.cshtml”頁面中,您將獲得Model.Exception的空值的“運行時錯誤”。 Model一起使用之前,請檢查Model.Exception的空值。

您是要在任何地方記錄異常,還是只是為了重定向到錯誤頁面並顯示一些自定義消息?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM