mvc 4 - 如何从公共布局中的模型中获取信息?

时间:2014-06-25 11:05:39

标签: asp.net-mvc-4 layout model

我有一个使用公共布局的取消订阅页面。

在公共布局中,我们公司有一个徽标,每个与他相关的页面都会显示我们的徽标。

因为我们提供白标服务 - 我们需要检查到达此页面的子网是否不是我们的垃圾,他不应该看到我们的标识。

我需要做的是从订户到达取消订阅页面的whice帐户检查公共布局。

有没有办法在公共布局中从模型中读取信息,即使他只是目标页面的管道?

这是公共布局中的代码,但是我们正在进行的检查是不够的,我们需要检查数据库。

<div class="container" style="margin-top:20px;">
    @if (Request.Url.PathAndQuery.ToLower().Contains("xxx") && !Request.Url.ToString().ToLower().Contains("x.x.x.x"))
    {
        <div class="row">
            <div class="col-md-3 visible-md visible-lg"></div>
            <div id="headLine" class="col-md-6">
                @if (this.Culture == "eng")
                {
                    <img src="@Url.Content("~/content/images/logoeng.png")" alt="" />
                }
                else
                {
                    <img src="@Url.Content("~/content/images/logo.png")" alt="" />
                }
            </div>
            <div class="col-md-3 visible-md visible-lg"></div>
        </div>
    }
    @RenderBody()
</div>

TNK

1 个答案:

答案 0 :(得分:0)

您可以在布局中调用另一个操作,该操作将从返回PartialView的操作方法生成徽标所需的HTML。 E.g:

@Html.Action("SomeAction", "SomeController", new { clientId = Model.ClientId })

或者最简单的方法可能是通过ViewBag设置图像的来源,您可以在控制器中设置,然后在布局中使用:

<img src="@ViewBag.ClientLogoSrc" alt="@ViewBag.ClientLogoAlt" />