我想将文本框中的一个(在母版页上)值传递到用户控件(.ascx)页面。这是我的代码显示如何打开用户控件..
Control usrCnt= LoadControl("userControl.ascx");
usrCnt.ID = "usrCnt";
ASPxPanel1.Visible = true;
ASPxPanel1.Controls.Clear();
ASPxPanel1.Controls.Add(userCnt);
如何将文本框的值发布到用户控件?我不能这样做..
Control usrCnt= LoadControl("userControl.ascx?param=" + textbox.Text);
答案 0 :(得分:3)
为SetText等用户控件创建一个方法 然后
usrCnt.SetText("textValue");
如果它是您的webusercontrol代码
public partial class WebUserControl1 : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
}
public void SetText(string theText)
{
this.Label1.Text = theText;
}
}
如果您已将控件添加到页面中 在页面中将其称为
this.WebUserControl11.SetText(TextBox1.Text);
答案 1 :(得分:1)
将这些放在usercontrol的上半部分
private string _TextBoxValue = string.Empty;
public string TextBoxValue {
get { return _TextBoxValue; }
set { _TextBoxValue = value; }
}
然后在您的母版页上
usrCnt.TextBoxValue = TextBox1.Text;
最快和最脏的方式是在您的MasterPage上
ViewState [“TextBoxValue”] = TextBox1.Text();
并在UserControl上访问ViewState["TextBoxValue"]
以获取值。