0

我正在尝试将 webform 用户控件转换为基于 MVC 的用户控件。

消息控制.ascx

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

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

所以在 aspx 页面中,我可以调用公共方法 ShowError 并传递将显示在 usercontrol ascx 文件中的错误。

页面

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

我怎样才能在 MVC 4.0 中达到同样的效果?

任何帮助,将不胜感激。

4

1 回答 1

0

正确的方法是将模型状态用于强类型模型。我经常使用的另一种更手动的方法是将错误消息放入 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 回答