2013-04-02 1 views
0

ViewState에서 Textbox의 값을 추적하는 방법을 알고 싶습니다. 사용자로서포스트 백 (postback)시 ViewState에서 Textbox 값을 어떻게 수행합니까?

Textbox으로 가치 때문에 Textbox 값이 사라 postbackclick submit button,

입사하지만,이 경우 ViewState를 사용한 경우 보거나 Viewstate에서 그 값을 표시하는 방법이 있는가?

<html> 
<body> 
    <form id="form1" runat="server"> 
     <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
     <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click"/
    </form> 
</body> 
</html> 

protected void Button1_Click(object sender, EventArgs e) 
{ 
    TextBox1.Text += "X"; 
} 
+2

컨트롤에서 가져 오면 바로 ViewState에서 수행됩니다. 컨트롤이 미리 채워져 있는지 확인하십시오. –

+1

'Page_Load'에 다음과 같은 코드가 있다고 가정합니다 :'TextBox1.Text = "initialvalue";'. if (! IsPostBack) {// ...}'안에 넣으십시오. –

+0

예 내부에 if (! IsPostBack) {// ...} – Neo

답변

1

페이지로드시 사용하십시오.

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!IsPostBack) 
     { 
      if (ViewState["Values"] == null) 
      { 
       ViewState["Values"] = new string(); 
      } 
     } 

     TextBox1.Text = ViewState["Values"].ToString(); 
    } 

그런 다음 사용하십시오.

protected void Button1_Click(object sender, EventArgs e) 
    { 
     ViewState["Values"] += TextBox1.Text; 
    } 

첫 번째 Page_Load 메서드에서는 다시 게시 및 null이 아닌 경우 ViewState를 만듭니다. 그런 다음 Button1_Click에 viewstate 텍스트 상자를 작성하면 viewbox에 새 textbox1이 추가됩니다.