2011-09-21 5 views
0

내 UserControl 코드가 아래에 있습니다. 하나의 TextBox가 UserControl에 있고 웹 페이지에서 TextBox.Text 속성에 액세스하려고합니다.TextBox.Text 속성이 UserControl에 할당되지 않았습니다.

UcUserForm 사용자 정의 컨트롤은 myform.aspx 웹 페이지에 삽입됩니다. myform.aspx PageLoad에

나는이

ucUserForm.TbFirstName.Text = "Tomas"; 

모든 것이 잘 작동처럼 텍스트 상자에 대한 값을 설정합니다. 웹 페이지가로드되면 텍스트 상자 안에 이름이 표시됩니다. 그렇다면 토마스에서 조나스로 가치를 바꿉니다. myform.aspx ButtonClick에

나는 내가 여전히 이전 이름 ​​토마스을 얻을 값을 그 이름이 웹 페이지에서 텍스트 상자에 조나스에 토마스에서 변경에도 불구하고

var mynewname = ucUserForm.TbFirstName.Text; 

을 읽으려고하고있다. 문제가 어디 있는지 이해할 수 없습니다. default.aspx에

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

제거를 유해한 것 – onof

+0

제거됨. 그러나 문제는 여전히 지속됩니다. – Tomas

+0

페이지에 사용자 정의 컨트롤을 추가하는 방법을 보여줄 수 있습니까? viewstate가 활성화되어 있습니까? * –

답변

0

이 시도 : 그것은 : 접근은 "설정"

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

에서

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

등록 사용자 제어 코드

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


     public TextBox TbFirstName 
     { 
      get { return tbFirstName; } 

     } 

} 

UserControl을 웹 페이지 뒤에

UserControl을 코드 ​​당신은 당신이 페이지를로드 할 때마다 설정합니다. Init 단계에서 시도하십시오. 초기화 단지 페이지의 라이프 사이클에 한 번 발생이

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

유사

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

관련 문제