4

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 %>" />

そして、Constants.cs

namespace MyConstants
public class Constants
public const string TheValue = "Hello, World";
4

6 に答える 6

4

名前空間をインポートする必要があります。これは、ビュー エンジンによって異なる方法で行います。

Web フォームを使用している場合:

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

C# で Razor を使用している場合

@using Your.Namespace

VB.NET で Razor を使用している場合

@Imports Your.Namespace
于 2012-10-09T07:44:49.823 に答える
4

完全修飾クラス名を使用してみましたか?

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

それが機能する場合は、この名前空間を web.config の名前空間リストに追加できます。

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

そして、どのページでもクラス名を完全修飾する必要はありません。

于 2012-10-09T07:44:59.447 に答える
2

ページ内のクラスの名前空間を次のように指定できます。

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

Your.Name.Spaceクラスを含む場所Constants

于 2012-10-09T07:43:58.653 に答える
0

宣言に静的属性を追加することをお勧めします。定数クラスのインスタンスを作成する必要はありません。

このようにして、直接 Constant.TheValue を使用できます

ハッピーコーディング!!!

于 2012-10-09T10:48:59.157 に答える