将值传递给WebUserControl以在标签中显示

时间:2010-12-09 07:20:19

标签: asp.net webusercontrols

喜 我有一个WebUserControl,有一个lable show消息 如何在运行时将值从Page发送到我的WebUserControl。

3 个答案:

答案 0 :(得分:1)

在控件的代码隐藏文件中,您可以指定属性

    [Bindable(true)]
    [Category("Appearance")]
    [DefaultValue("")]
    [Localizable(true)]
    public String customType
    {
        get
        {
            String s = (String)ViewState["customType"];
            return ((s == null) ? String.Empty : s);
        }

        set
        {
            ViewState["customType"] = value;
        }
    }

然后,您可以使用

获取此属性以在页面加载中填充您的标签
mylabel.text = mycontrol.customType

在asp页面中指定属性(这里是'customType'):

<wuc:ContSign customType="person" ID="ContSignPanel" runat="server" />

MSDN

答案 1 :(得分:0)

您可以在用户控件中创建公共方法,例如

public void ShowMessage(string message)
{
   Label1.Text = message;
}

Label1是用户控件中的标签控件。现在,您可以在需要时使用Page中的方法 - 例如,

protected void Page_Load(object Sender, EventArgs e)
{
    MyUserControl1.ShowMessage("Hello");
}

其中MyUserControl1是页面上放置的Web用户控件的名称/ ID。

答案 2 :(得分:0)

只需创建一个属性即可获取并设置用户控件中标签的值

private string _labelmsg;
public string LableMsg
get
{
return _labelmsg;
}
set
{
_labelmsg=lblID.Text;
}

然后像asp UserControlID.LabelMsg="Set Any Value";

一样在aspx.cs页面中设置