2017-09-11 46 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(); 
    } 

私は道を探索したが.... がどのように私はつもり行う必要があり、このコントローラクラスには、「ページ」識別子または「のResponse.write()」メソッドが存在しないのですか?

p.s 私はそのようなモデルの検証をチェックする方法は正しいですか? (私はモデルを使用して、代わりにビューモデルを使用して、部分的な特性ですチェック)

答えて

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> 
} 

EDIT

アラートボックスを表示するには、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

Ok、私は答えを更新しました。 – Isma

+0

お返事ありがとうございます!しかし、それが有効でない場合、私は下に置きます。 このようなエラーが発生しました。 HelloWorld

関連する問題