global-variables – MVC 3 Razor _ViewStart中的公共变量

我正在使用MVC 3附带的新Razor引擎构建一个站点(并且喜欢新的语法!).但是,我对使用公共属性/常量感到茫然.我知道使用WebForms我们可以在代码后面添加一个公共属性: public string ImageFolder { get; set; } 我想在我的视图可以访问的一个全局位置定义重要

我正在使用MVC 3附带的新Razor引擎构建一个站点(并且喜欢新的语法!).但是,我对使用公共属性/常量感到茫然.我知道使用WebForms我们可以在代码后面添加一个公共属性:

public string ImageFolder { get; set; }

我想在我的视图可以访问的一个全局位置定义重要变量,从CSS文件和图像的路径开始:

@{
    Layout = "~/Views/Shared/_Layout.cshtml";
    var ContentFolder = "~/Content";
    var CssFolder = ContentFolder + "/Stylesheets";
    var ImageFolder = ContentFolder + "/Images";
}

我已经尝试将上面的代码块放在_Layout中,以及_ViewStart中.但是,从子视图访问它们失败了.我想过在上面的代码块中定义一个公共属性但是它没有编译.

解决方案?

>就我所见,没有人使用Razor背后的代码.
>我想我应该能够从默认视图继承并在那里定义我的属性(如described on Stack).

但我强烈希望应该有一个更简单的方法来做这么简单的事情?

解决方法

您可以创建一个文件夹“App_Code”并创建一个文件“GlobalVal.cshtml”.

bellow是文件中的示例代码:

@functions{
    public static readonly string __siteHome = "http://www.example.com";
    public static readonly string __siteResource = "http://resource.example.com";
}

和波纹管是一个使用它的样本:

<a href="@GlobalVal.__siteHome/home/index">@GlobalVal.__siteHome</a>

作者: dawei

【声明】:永州站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部