Asp.net mvc 3 访问分区Id放置在_布局MVC3中

Asp.net mvc 3 访问分区Id放置在_布局MVC3中,asp.net-mvc-3,Asp.net Mvc 3,我在MVC3工作。我在_Layout.cshtml文件中创建了一个DIV,用于显示错误消息,并在Views文件夹中创建了一个C类错误消息 \u layout.cshtml文件中的DIV: <div class="ErrorMessageBox" id="ErrorMessageDiv" runat="server"> </div> 在类ErrorMessage中,它给出了ErrorMessageDiv在当前上下文中不存在的错误 你知道如何在MVC3中实现吗 您应该了解m

我在MVC3工作。我在_Layout.cshtml文件中创建了一个DIV,用于显示错误消息,并在Views文件夹中创建了一个C类错误消息

\u layout.cshtml文件中的DIV:

<div class="ErrorMessageBox" id="ErrorMessageDiv" runat="server"> </div>
在类ErrorMessage中,它给出了ErrorMessageDiv在当前上下文中不存在的错误


你知道如何在MVC3中实现吗

您应该了解mvc模式-它是如何工作的。简言之:

->请求->创建控制器->执行某些操作方法->渲染视图

asp.net mvc中没有页面生命周期事件,如页面加载或页面预呈现。您必须在controller中执行的所有业务逻辑。您的视图只是渲染结果

就你而言: 检查控制器操作方法中的输入值在ViewBag中设置一些标志,如

public ActionResult HomeM(string inputParam)
{
    ViewBag.Error = String.IsNullOrEmpty(inputParam);
    return View();
}
你的看法:

@if (ViewBag.Error)
{
     <div class="ErrorMsg">Error text</div>
}

我尝试过这个解决方案,但仍然面临一些问题。它只在第一次工作,但之后ErrorMsg Div的状态保持不变,因为我只想在出现一些错误时显示它,否则就隐藏Div。这是正常情况,但我不知道问题出在哪里?如果您请求此操作-设置ViewBag.Error的代码始终执行,那么ViewBag.Error始终可以为true或false。我将更改String.IsNullOrEmptyinputParam;到实际的错误消息,并在视图中执行IsNullOrEmpty检查->@if!String.IsNullOrEmptyViewBag.Error{div class=ErrorMsg>ViewBag.Error}首先,从您的div中删除该runat。我不认为有理由在mvc中使用它,然后尝试下面Antony的解决方案
@if (ViewBag.Error)
{
     <div class="ErrorMsg">Error text</div>
}