嗨,我有一个WebUserControl,它有一个显示消息的标签,如何在运行时将一个值从页面发送到我的WebUserControl。
发布于 2010-12-09 17:01:55
在控件的代码隐藏文件中,可以指定属性
[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-09 16:37:05
您可以在用户控件中创建公共方法,例如
public void ShowMessage(string message)
{
Label1.Text = message;
}Label1是用户控件中的label控件。现在,您可以在需要时使用Page中的方法,例如,
protected void Page_Load(object Sender, EventArgs e)
{
MyUserControl1.ShowMessage("Hello");
}其中MyUserControl1是放在页面上的web用户控件的名称/ID。
发布于 2010-12-09 17:57:04
只需创建一个属性来获取和设置用户控件中的标签的值
private string _labelmsg;
public string LableMsg
get
{
return _labelmsg;
}
set
{
_labelmsg=lblID.Text;
}然后在aspx.cs页面中进行如下设置
UserControlID.LabelMsg="Set Any Value";
https://stackoverflow.com/questions/4395822
复制相似问题