0

ねえ、私はこれを取得しようとしています:

<div id="subpg_main">    
<%= theHeadering %>
</div>
<!-- END BODY PAGE ------------------------->

HTML コード内で作業するため。

コードビハインドはこれだけです:

Public Class thankyou
    Inherits System.Web.UI.Page
    Public theHeadering As String = ""

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim theName As String = "Bob Barker"
        Dim theEmail As String = "bobb@thepriceisright.com"

        If theForm = "contact" Then
            theHeadering = "<H1>Thank you " & theName & " for contacting us!</H1><BR />"
            theHeadering += "We will be contacting you via your email address at " & theEmail & " within 24 hours."
        End If
    End Sub    
End Class

ただし、ページを実行すると、次のエラーが発生します。

コンパイラ エラー メッセージ: BC30451: 'theHeadering' が宣言されていません。保護レベルにより、アクセスできない場合があります。

4

5 に答える 5

2

関数を追加して HTML から呼び出す

<div id="subpg_main">    
<%= TheHeadering()%>
</div>
<!-- END BODY PAGE ------------------------->



Public Class thankyou
    Inherits System.Web.UI.Page
    Private headering As String = ""

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim theName As String = "Bob Barker"
        Dim theEmail As String = "bobb@thepriceisright.com"

        If theForm = "contact" Then
            headering = "<H1>Thank you " & theName & " for contacting us!</H1><BR />"
            headering += "We will be contacting you via your email address at " & theEmail & " within 24 hours."
        End If
    End Sub    
    Public Function TheHeadering() As String
        Return headering
    End Function
End Class
于 2012-10-15T20:32:54.067 に答える
1

これで試してください

編集

HTMLコード

<div id="subpg_main">    
<%# TheHeadering()%>
</div>
<!-- END BODY PAGE ------------------------->


Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Dim theName As String = "Bob Barker"
    Dim theEmail As String = "bobb@thepriceisright.com"

    If theForm = "contact" Then
        theHeadering = "<H1>Thank you " & theName & " for contacting us!</H1><BR />"
        theHeadering += "We will be contacting you via your email address at " & theEmail & " within 24 hours."
    End If
   'Bind your expression with the markup code
   Me.DataBind()
End Sub    
于 2012-10-15T20:37:44.460 に答える
1

そのはず

 Public Property theHeadering As String = ""

そしてそうではありません:

 Public theHeadering As String = ""
于 2012-10-15T21:01:29.733 に答える
1

デザイナーページを開くpage.aspx.designer.vb

そして追加:

Protected theHeadering As String

これですべてが機能するようになります。

これは自動的に行われますが、自動部分が失敗する場合があります。


空の WebForms プロジェクトを作成する例を次に示します。全体像はこちら

ここに画像の説明を入力

于 2012-10-15T20:36:49.030 に答える
0

私の最善の推測では、マークアップ コードの Page ディレクティブは、同じプロパティ theHeadering As String = "" を持つ別のクラスを指していますが、パブリック アクセス レベルではありません。

于 2012-10-15T20:34:51.230 に答える