0

Web フォームのユーザー コントロールを MVC ベースのユーザー コントロールに変換しようとしています。

MessageControl.ascx

 public abstract class Feedback : System.Web.UI.UserControl
 {
    public string Message {get;set;}
 }

 public void ShowError()
 {
   lblMessage.InnerHtml = Message;      
 }

したがって、aspx ページでは、パブリック メソッド ShowError を呼び出して、ユーザー コントロールの ascx ファイルに表示されるエラーを渡すことができます。

Aspx ページ

 protected void Page_Load(object sender, System.EventArgs e)
 {
     if(isError = true)
     {
          MessageControl1.Message = "Error Occured";
     }  
 }

MVC 4.0 で同じことを達成するにはどうすればよいですか?

どんな助けでも大歓迎です。

4

1 に答える 1

0

正しい方法は、厳密に型指定されたモデルのモデル状態を使用することです。私が定期的に使用するもう 1 つの手動の方法は、エラー メッセージを Viewbag に入れ、ビューで Viewbag 内のエントリが存在するかどうか、およびエラーが表示されるかどうかを確認することです。たとえば(asp.net mvcで):

<div id="notification_error" class="invalid" <%if (String.IsNullOrEmpty(""+TempData[ "ErrorMsg" ])){ %>style="display: none;"
        <%} %>>
        <%= TempData["ErrorMsg"] %>
    </div>
于 2013-03-08T13:45:36.000 に答える