2017-09-11 50 views
0

我想在帳戶模型無效時顯示警報消息框。 我應該如何在Asp.Net Core MVC控制器中執行此操作? 這裏是我的控制器代碼如何在asp.net核心mvc控制器中顯示警報消息框?

[HttpPost] 
    public IActionResult Index(Account model) 
    { 
     if (model.ID != null && model.PassWord != null) 
     { 
      using (var db = new AccountDBContext()) 
      { 
       var account = db.Account.FirstOrDefault(
           a => a.ID.Equals(model.ID) && a.PassWord.Equals(model.PassWord) 
          ); 

       if(account != null) 
        return RedirectToAction("Index", "Main");  

      } 
      //I want to display error msg box...here like "Check ID or PW". 
      ModelState.AddModelError("", "Error"); 

     } 


     return View(); 
    } 

我搜索的方式,但存在這個控制器類沒有「頁」標識或「回覆於()」方法.... 應該怎麼怎麼辦?

p.s 我檢查模型的驗證方式是正確的方式嗎? (I使用的模型,並檢查它是局部的特性,而不是使用圖模型)

回答

3

定義誤差在控制器:

ModelState.AddModelError("Error", "Check ID"); 

然後在視圖中顯示它:

@if (!ViewData.ModelState.IsValid && ViewData.ModelState["Error"].Errors.Count > 0) 
{ 
    <div class="alert alert- 
     <strong>Error!</strong> danger">@ViewData.ModelState["Error"].Errors.First().ErrorMessage 
    </div> 
} 

編輯

要顯示一個警告框,請在您的視圖中添加一些javascript,以下使用jquery:

<head> 
    <script type="text/javascript"> 
     @if (!ViewData.ModelState.IsValid && ViewData.ModelState["Error"].Errors.Count > 0) 
     { 
      <text> 
      $(document).ready(function() { 
       alert('@ViewData.ModelState["Error"].Errors.First().ErrorMessage'); 
      }); 
      </text> 
     } 
    </script> 
</head> 
+0

OP詢問了如何使用_alert消息框_ –

+0

好吧,我更新了答案,謝謝。 – Isma

+0

感謝您的回答!但如果它無效,我會在下面提出。 然後出現這樣的錯誤。 HelloWorld

相關問題