2014-06-12 106 views
0

美好的一天!在列表視圖中我有一個文本字段。用戶輸入數據並點擊(鏈接按鈕)回發域丟失數據或顯示默認數據(如果有)。當文本框不在列表視圖中時,沒有這樣的問題。 ViewState爲頁面啓用。代碼 部分回發後TextBox丟失數據(listview)

<asp:ListView ID="mylist" runat="server" DataSourceID="listsource" OnItemDataBound="mylist_ItemDataBound" OnItemCommand="mylist_ItemCommand"> 
    <ItemTemplate> 
     <div style=" display:inline-block;"> 
      <div style="float:left;"> 
       <img src="<%=ResolveUrl("files") %>/<%#Eval("img") %>" alt='<%#Eval("img") %>' class="primage" /> 
       <div class="div1" style="width:240px;"> <%#Eval("sample") %></div></div> 
       <div class="card"> 
       <asp:TextBox ID="countbox" runat="server" CssClass=""></asp:TextBox> 
       <asp:LinkButton ID="add" runat="server" CssClass="add" CommandName="add">some text</asp:LinkButton> 
      </div> 
     </div> 
    </ItemTemplate> 
</asp:ListView> 
+1

顯示的代碼...... –

回答

0

在服務器端,如果你不這樣做,發佈任何價值將原有的或默認值覆蓋你應該問,如果頁回

If(!Page.IsPostBack) 
{ 
    MyListView.DataBind(); 
} 

1

有了回傳,您的數據似乎正在通過數據綁定重新生成。你能避免使用if塊檢查頁面下,結合數值數據丟失是不是回發

if(!Page.IsPostBack) 
{ 
    //bind my lovely data 
} 
else 
{ 
    // do nothing 
    // dont bind new data with postback because I just pressed a button 
} 

另一種解決辦法可能是使用AJAX或者異步回用的UpdatePanel