0

嗨,我有一个 WebUserControl,它有一个标签用于显示消息,我如何在运行时将值从 Page 发送到我的 WebUserControl 的标签。

4

3 回答 3

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

于 2010-12-09T09:01:55.013 回答
0

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

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

然后在aspx.cs页面中设置就好

UserControlID.LabelMsg="Set Any Value";

于 2010-12-09T09:57:04.060 回答
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。

于 2010-12-09T08:37:04.537 回答