1

私は持っている:

Page.aspx
Page.aspx.vb
TestClass.vb

Page.aspx から TestClass クラスの共有プロパティにアクセスしようとしています。

このコードは正常に動作します:

...
<head>
<script language="JavaScript">

    <% if System.Globalization.CultureInfo.CurrentCulture.Name.ToLower = "pt-br" Then %>
        alert('portugues');
    <% else %>
        alert('ingles');
    <% end if %>

</script>
</head>
...

しかし、TestClass の共有プロパティにアクセスしようとすると、例外が発生します。

<% if TestClass.Idioma = TestClass.TipoIdioma.Portugues Then %>
    alert('portugues');
<% else %>
    alert('ingles');
<% end if %>

エラー BC30451: 名前 'TestClass' が定義されていません。

これはクラスです:

Public Class TestClass

    Public Enum TipoIdioma
        Portugues
        Ingles
    End Enum

    Public Shared ReadOnly Property Idioma() As TipoIdioma
        Get
            If System.Globalization.CultureInfo.CurrentCulture.Name.ToLower = "pt-br" Then
                Return TipoIdioma.Portugues
            Else
                Return TipoIdioma.Ingles
            End If
        End Get
    End Property

End Class
4

2 に答える 2

2

の新しいインスタンスを作成する必要がありますTestClass。次のようなことを試してください:

<script language="JavaScript">

    <%
    Dim tc = new TestClass()
    if TestClass.Idioma = TestClass.TipoIdioma.Portugues Then %>
        alert('portugues');
    <% else %>
        alert('ingles');
    <% end if %>

</script>
于 2010-01-18T14:30:16.317 に答える
0

明確ではありませんが、あなたのクラスは名前空間にありますか? 名前空間を aspx ファイルにインポートする必要がある場合があります。

<%@ Import Namespace="MyNamespace" %>
于 2010-01-18T11:55:03.410 に答える