Свойство TextBox.Text не назначено в UserControl - PullRequest
0 голосов
/ 21 сентября 2011

Мой код UserControl приведен ниже, у меня есть один TextBox в UserControl и я хочу получить доступ к свойству TextBox.Text с веб-страницы.

Пользовательский элемент управления UcUserForm вставлен в веб-страницу myform.aspx.

В myform.aspx PageLoad я устанавливаю значение для textBox следующим образом

ucUserForm.TbFirstName.Text = "Tomas";

Все отлично работает. Когда веб-страница загружена, я вижу имя внутри текстового поля. Затем я меняю значение с Томаса на Йонаса.

На myform.aspx ButtonClick Я пытаюсь прочитать значение

var mynewname = ucUserForm.TbFirstName.Text; 

несмотря на то, что имя изменилось с Томаса на Джонаса в TextBox на веб-странице, я все еще получаю старое имя Томас. Не могу понять, в чем проблема.

Код UserControl позади

  public partial class UcUserForm: System.Web.UI.UserControl
    {


        public TextBox TbFirstName
        {
            get { return tbFirstName; }

        }

}

Веб-страница UserControl

  <asp:TextBox  ID="tbFirstName" autocomplete="off"  MaxLength="25" runat="server"></asp:TextBox>

Регистрация пользовательского управляющего кода в default.aspx

<%@ Register Src="ucUserForm.ascx" TagName="ucUserForm" TagPrefix="uc1" %>
<uc1:ucUserForm ID="ucUserForm" runat="server" />

Ответы [ 2 ]

0 голосов
/ 21 сентября 2011

Попробуйте это:

protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack)
        {
           ucUserForm.TbFirstName.Text = "Tomas";
        }
     }
0 голосов
/ 21 сентября 2011

Вы устанавливаете его каждый раз, когда загружаете страницу. Попробуйте на этапе инициализации.

Аналогично этому

 protected void Page_Init(object sender, EventArgs e)
    {
            ucUserForm.TbFirstName.Text = "Tomas";
    }

Инициирование происходит только один раз в жизненном цикле страницы

http://msdn.microsoft.com/en-us/library/ms178472.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...