我有问题。我有site.master,其中包括几个用户控件。现在我需要将值(字符串)从实际的页面代码传递给母版页用户控件(属性)。
所以我的主人是这样的:
<%@ 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"
要么
page.master.sheriffala.statvalue = "my srting"
并尝试了几个绑定,其中没有一个没有成功。
那么如何从代码隐藏文件传递字符串到用户控件属性?
答案 0 :(得分:0)
您需要确保您的MasterPage上的UserControl是公开的。然后在您的ContentPage的CodeBehind中,您需要创建一个MasterPage实例,您应该可以访问statvalue()
,因为它已经是公共的。
或者,如果您不喜欢弄乱设计器文件,可以创建公开UserControls和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)