1

問題があります。いくつかのユーザー コントロールを含む site.master があります。ここで、実際のページ コード ビハインドからマスター ページ ユーザー コントロール (Property) に値 (文字列) を渡す必要があります。

だから私のマスターはこのようなものです:

<%@ Master Language="VB" CodeFile="/scripts/pohjakoodit.master.vb" Inherits="pohjakoodit"  AutoEventWireup="false"  debug="false" %>

...マスターの最後には次のものがあります:

<ucSheriff:sheriffala ID="sheriffala" statvalue="atesti" runat="server" />

次に、次のように始まる実際のページがあります。

<%@ Page Language="vb" MasterPageFile="site.master" AutoEventWireup="false" CodeFile="/scripts/alkuuutisetxw.aspx.vb" Inherits="uutiset_index" debug="true"  %>

sheriffala.ascx にはプロパティがあります

dim Public staref As String = ""    

    Public Property statvalue() As String
        Get
            Return statvalue
        End Get
        Set(ByVal value As String)
            staref = value
        End Set
    End Property

ここで、コード ビハインド ファイル alkuuutisetxw.aspx.vb で、ユーザー コントロール sheriffala からプロパティ statvalue にアクセスしようとしています。

sheriffala.statvalue = "my srting" 私はor のような非常に基本的なことを試しました page.master.sheriffala.statvalue = "my srting" そして、いくつかのバインディングを試しましたが、どれもうまくいきませんでした。

コード ビハインド ファイルからユーザー コントロール プロパティに文字列を渡すにはどうすればよいでしょうか。

4

1 に答える 1

0

UserControlがMasterPageでパブリックであることを確認する必要があります。次に、ContentPageのCodeBehindで、MasterPageのインスタンスを作成する必要がありますstatvalue()。これは、すでにパブリックになっているため、アクセスにアクセスできます。

または、デザイナーファイルをいじりたくない場合は、UserControlsとMasterPageを公開するプロパティを作成できます。

MasterPage:

Public ReadOnly Property UCSheriffala() As Sheriffala
    Get
        Return Me.Sheriffala
    End Get
End Property

コンテンツページ:

Public Shadows ReadOnly Property Master() As Pohjakoodit
    Get
        Return CType(MyBase.Master, Pohjakoodit)
    End Get
End Property

使用例:

Response.Write(Master.UCSheriffala.statvalue)
于 2012-04-13T12:57:38.113 に答える