我在MVC3工作。我在_Layout.cshtml文件中创建了一个DIV,用于显示错误消息,我在视图文件夹中创建了一个C#类ErrorMessage。
_layout.cshtml文件中的DIV:
<div class="ErrorMessageBox" id="ErrorMessageDiv" runat="server"> </div>
这是类ErrorMessage代码:
public static class ErrorMessage
{
public static void Show(string message)
{
ErrorMessageDiv.InnerText = message;
}
public static void Hide()
{
}
}
在ErrorMessage类中,它给出错误“当前上下文中不存在ErrorMessageDiv”
知道如何在MVC3中做到这一点吗?
答案 0 :(得分:0)
你应该读一下mvc模式 - 它是如何工作的。用几句话说:
- &GT;请求 - &gt;创建控制器 - &gt;执行一些Action方法 - &gt;渲染视图
asp.net mvc中没有page_load或page_prerender等页面生命周期事件。您必须在控制器中执行的所有业务逻辑。您的视图只是渲染结果。
在你的情况下: 检查控制器操作方法中的输入值在ViewBag中设置一些标志,如
public ActionResult HomeM(string inputParam)
{
ViewBag.Error = String.IsNullOrEmpty(inputParam);
return View();
}
你的观点:
@if (ViewBag.Error)
{
<div class="ErrorMsg">Error text</div>
}