访问Div Id放在_Layout MVC3中

时间:2011-03-17 12:20:20

标签: asp.net-mvc-3

我在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中做到这一点吗?

1 个答案:

答案 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>
}