Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在ASP.NET MVC中在何处定义全局常量?_C#_Asp.net_Asp.net Mvc_Razor_Constants - Fatal编程技术网

C# 在ASP.NET MVC中在何处定义全局常量?

C# 在ASP.NET MVC中在何处定义全局常量?,c#,asp.net,asp.net-mvc,razor,constants,C#,Asp.net,Asp.net Mvc,Razor,Constants,我有几个局部视图,它们都有公共类div标记 e、 g PView1.cshtml <div class="awesome">Part of PView1 html</div> PView1 html的一部分 PView2.cshtml <div class="awesome">Part of PView1 html</div> PView1 html的一部分 其中一些共享值连接到模型中的动态数据: <div id="someId +

我有几个局部视图,它们都有公共类
div
标记

e、 g

PView1.cshtml

<div class="awesome">Part of PView1 html</div>
PView1 html的一部分
PView2.cshtml

<div class="awesome">Part of PView1 html</div>
PView1 html的一部分
其中一些共享值连接到模型中的动态数据:

<div id="someId + @Model.Id"></div>

我想把这些常数移到一个地方

在ASP.NET MVC中,我应该将全局常量放在哪里?
静态类?

您可以使用具有静态属性的静态类或公共常量变量来处理常量。但我建议您使用web.config或自定义xml配置文件来存储常量字符串,然后编写一个静态类来访问它们。

我将这一点与其他答案拼凑在一起,而这些答案似乎并没有将它们全部拼凑在一起,因此站在巨人的肩膀上

  • 右键单击项目

  • 添加ASP.NET文件夹App\u LocalResources

  • 右键单击App_LocalResources

  • 添加资源文件

  • 添加Resource1.resx

  • 定义名称/值

  • 右键单击Resource1.resx文件并选择属性

    确保它们如下所示:

    • 构建操作:嵌入式资源
    • 自定义工具:PublicResXFileCodeGenerator
    • 自定义工具名称空间:资源
  • 您可以在视图中参照这些值,如下所示:

    @Resources.Resource1.String1
    

    最有可能是静态类或资源文件。另一个选项是使用其他人将从中继承的基础模型。使用静态类并扩展Html帮助程序集。为什么建议这样做?自定义XML配置文件不会给我intelli sense优势,我不希望用户更改这些字符串,该配置不应转到web.config。用户无法更改配置文件(*.config)。如果创建一个具有静态属性的静态类来访问常量,那么代码中将具有intelli sense。