开发者

TextBox.Text property is not assigned in UserControl

开发者 https://www.devze.com 2023-04-06 13:33 出处:网络
My UserControl code is below, I have one TextBox in UserControl and would like to access TextBox.Text property from web page.

My UserControl code is below, I have one TextBox in UserControl and would like to access TextBox.Text property from web page.

UcUserForm user control is inserted in myform.aspx web page.

On myform.aspx PageLoad I set value for textBox like this

ucUserForm.TbFirstName.Text = "Tomas";

Everything works fine. When web page is loaded I see name inside textbox. Then I change value from Tomas to Jonas.

On myform.aspx ButtonClick I am trying to rea开发者_StackOverflow中文版d value

var mynewname = ucUserForm.TbFirstName.Text; 

despite that name is changed from Tomas to Jonas in TextBox on web page I still get the old name Tomas. Can't understand where is the problem.

UserControl code behind

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


        public TextBox TbFirstName
        {
            get { return tbFirstName; }

        }

}

UserControl web page

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

Registration user control code in default.aspx

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


Try this:

protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack)
        {
           ucUserForm.TbFirstName.Text = "Tomas";
        }
     }


You set it every time you load the page. Try in Init stage.

Similar to this

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

The Init just happens once in the Page's life cycle

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

0

精彩评论

暂无评论...
验证码 换一张
取 消