我正在尝试将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>