2012-05-21 57 views
0

我想将webform usercontrol转换为基于MVC的usercontrol。将webform usercontrol转换为MVC 4控件

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一样吗?

任何帮助,将不胜感激。

回答

0

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

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