Передача переменной в пользовательский элемент управления - PullRequest
2 голосов
/ 11 ноября 2011

Я хочу передать одно из значений текстового поля (на главной странице) на страницу управления пользователем (.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);

Ответы [ 2 ]

3 голосов
/ 11 ноября 2011

Создайте метод для вашего пользовательского контроля, такой как SetText, а затем

 usrCnt.SetText("textValue");

, если это ваш код контроля веб-пользователя за

   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 голос
/ 11 ноября 2011

поместите их в верхнюю часть вашего 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"], чтобы получить значение.

...