2014-11-04 2 views
0

webform에 드롭 다운 목록을 추가하고 항목 편집 옵션을 통해 두 항목을 추가했습니다. 이 페이지를 디버깅하는 동안 새 항목을 추가하고 있습니다 (이 경우 텍스트 상자와 버튼을 사용했습니다). 세션이 닫히고 다시 열리면 실행 시간 동안 드롭 다운 목록에 표시됩니다. 이것에 대한항목이 드롭 다운 목록에 추가되지 않았습니다 # Asp.net

코드입니다 :

에서 .aspx 페이지에서 :

<asp:DropDownList ID="DropDownList1" runat="server" Height="22px" Width="82px"> 
<asp:ListItem Text = "Select" Value="-1" Selected = "true"> </asp:ListItem> 
<asp:ListItem Text="Item1" Value="Wrigley"></asp:ListItem> 
<asp:ListItem Text = "Item2" Value="Sigma"></asp:ListItem> 
</asp:DropDownList> 

<asp:Button ID="Bt_Save" runat="server" Text="Save" Visible = "false" onclick="Bt_Save_Click" /> 
<asp:TextBox ID="TB_CName" runat="server" Visible="False" Width="123px" 
ontextchanged="TB_CName_TextChanged"></asp:TextBox> 

.aspx.cs 페이지에서 I가해야 할 일을

protected void Bt_Save_Click(object sender, EventArgs e) 
{ 
     String NewCustomer = TB_CName.Text.ToString().Trim(); 
     if(NewCustomer!="") 
     { 
      DropDownList1.Items.Add(new ListItem(NewCustomer, NewCustomer)); 
      TB_CName.Text = null; 
      DropDownList1.Visible = true; 
      Bt_Save.Visible = false; 
      TB_CName.Visible = false; 
     } 
     else 
     { 
      Validater_CName.Visible=true; 
     } 
    } 

새 항목을 추가 할 때마다 변경된 드롭 다운 목록을 가져 오십시오. 제안 사항을 게시하십시오.

감사합니다.

+0

*** 세션을 닫습니다 *** - 브라우저 창/브라우저 탭을 닫으시겠습니까? – Win

+0

브라우저 탭 @Win –

+2

이 새 항목을 데이터베이스 또는 다른 저장소에 저장 하시겠습니까? 그렇지 않다면 새로운 세션을 시작할 때 어떻게 다시 나타나기를 기대합니까? – sh1rts

답변

0

은 실행 시간 중에 한 번만 내가 세션을 닫고 다시 열면 사라집니다.

HTML의 상태가 더 이상 없다는 기본 개념이 없습니다. 당신이 1 시간을보고있는

유일한 이유는 ASP.Net 다시 포스트 사이의 상태를 유지하기 위해 의 ViewState를 사용합니다. 브라우저 또는 탭을 닫으면 (중요하지 않음) 상태 정보가 사라집니다.

데이터를 유지하려면 데이터베이스 (또는 파일)에 저장해야합니다.

참고 : 서버 메모리에 저장된 ASP.Net 캐시를 사용할 수 있습니다. 그러나 캐시는 모든 페이지에서 공유되므로 시나리오에 원하는 것이 아닙니다.

0

이렇게하면 변경된 드롭 다운 목록 데이터를 가져올 수 없습니다. 편집하는 대신 변경 데이터가 필요한 경우 데이터 소스를 사용하여 데이터를 가져와야합니다. 그런 다음 변경 데이터는 데이터베이스에 저장됩니다.

+0

고마워요. 나는 ... 실종 된 부분이 있습니다. 나는 그것을 데이터베이스에 바인딩하고 지금은 잘 작동하고 있습니다. :) –

+0

다음 답변으로 표시 buddy –

관련 문제