Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.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# 如何从aspx引用cs中的常数?_C#_Asp.net_.net - Fatal编程技术网

C# 如何从aspx引用cs中的常数?

C# 如何从aspx引用cs中的常数?,c#,asp.net,.net,C#,Asp.net,.net,如何从page.aspx中的constants.cs引用常量,我正在尝试以下操作,但没有成功 <%@ Import Namespace="MyConstants" %> <uc:MyControl ID="id1" runat="server" ConstantValue=" <%= Constants.TheValue %>" /> <uc:MyControl ID="id2" runat="server" ConstantValue=" <%

如何从page.aspx中的constants.cs引用常量,我正在尝试以下操作,但没有成功

<%@ Import  Namespace="MyConstants" %>
<uc:MyControl ID="id1" runat="server" ConstantValue=" <%= Constants.TheValue %>" />
<uc:MyControl ID="id2" runat="server" ConstantValue=" <%# Constants.TheValue %>" />
<uc:MyControl ID="id3" runat="server" ConstantValue=" <%= MyConstants.Constants.TheValue %>" />
<uc:MyControl ID="id4" runat="server" ConstantValue=" <%# MyConstants.Constants.TheValue %>" />

您可以在页面中将类的命名空间指定为:

<%@ Import Namespace="Your.Name.Space" %>


其中,
Your.Name.Space
包含导入命名空间所需的类
常量。根据视图引擎的不同,执行此操作的方式也不同

如果您使用的是WebForms:

<%@ Import Namespace="Your.Namespace" %>
如果您在VB.NET中使用Razor

@Imports Your.Namespace

您是否尝试过使用完全限定的类名

<%= MyNamespace.MySubNamespace.Constants.TheValue %>

如果这样做有效,您可以将此名称空间添加到web.config中的名称空间列表中

<pages>
  <namespaces>
    <add namespace="MyNamespace.MySubNamespace" />
  </namespaces>
</pages>

这样,您就不必在任何页面中完全限定类名。

您必须对服务器控件使用
#
。所以,你必须像这样修改你的代码

<!-- I have no references in page, is that missing? --> 
<uc:MyControl ID="id runat="server" ConstantValue=" <%# Constants.TheValue %>" /> 


为什么不将该属性用于UserControl?:

UserControl属性:

public string ConstantValue { get; set; }
然后您可以使用它:

<uc:MyControl ID="id" runat="server" ConstantValue="any string" />

我建议您将静态属性添加到声明中,您不需要创建常量类的实例

这样就可以直接使用Constant.TheValue


快乐编码

当我尝试此操作时,常量.TheValue>>NULL
public string ConstantValue { get; set; }
<uc:MyControl ID="id" runat="server" ConstantValue="any string" />