将webform usercontrol转换为MVC 4控件

时间:2012-05-21 06:40:06

标签: asp.net-mvc asp.net-mvc-4

我正在尝试将webform usercontrol转换为基于MVC的usercontrol。

MessageControl.ascx

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

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

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

Aspx页面

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

如何在MVC 4.0中实现相同的目标?

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

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

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