将 Web 窗体用户控件转换为 MVC 4 控件



我正在尝试将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 中实现相同的目标?

任何帮助将不胜感激。

正确的方法是对强类型模型使用模型状态。我经常使用的另一种更手动的方法是将错误消息放入 Viewbag,然后在视图上检查 Viewbag 中的条目是否存在以及它是否确实显示错误。例如(在 asp.net MVC 中(:

<div id="notification_error" class="invalid" <%if (String.IsNullOrEmpty(""+TempData[ "ErrorMsg" ])){ %>style="display: none;"
        <%} %>>
        <%= TempData["ErrorMsg"] %>
    </div>

最新更新