2012-04-18 66 views
0

我有一個的UpdatePanel具有文本框作爲內容下拉列表作爲觸發。 每當我改變了的selectedIndex下拉列表的,它會查詢數據庫,它將給我一個文本框文本框裏面的UpdatePanel丟失數據

現在我進入了一些新的,並單擊更新按鈕所以它將被保存在數據庫中。

問題就在這裏,它讓我越來越老(即被帶到由下拉列表值)。

我該如何解決這個問題?

編輯

  <asp:UpdatePanel ID="uplKmAllowed" runat="server"> 
      <ContentTemplate> 
       <dx:ASPxTextBox ID="txtKmAllowed" runat="server" Width="215px" OnTextChanged="txtKmAllowed_TextChanged"> 
       </dx:ASPxTextBox> 
      </ContentTemplate> 
     </asp:UpdatePanel> 

後面的代碼:這是在一個usercontrol

asset = fltrAsset.FindControl("cboAsset") as ASPxComboBox; 
asset.AutoPostBack = true; 

asset.SelectedIndexChanged += new EventHandler(Asset_SelectIndexChanged); 
     AsyncPostBackTrigger trigger = new AsyncPostBackTrigger(); 
     trigger.ControlID = asset.UniqueID; 
     trigger.EventName = "SelectedIndexChanged"; 

     uplKmAllowed.Triggers.Add(trigger); 

編程添加觸發器becase的的cboAsset是功能

protected void Asset_SelectIndexChanged(object sender, EventArgs e) 
    { 
     string tudID = asset.SelectedItem.Value.ToString(); 
     RentalTracking rtk = new RentalTracking(); 
     string assetID = rtk.getAssetIDDepartmentIDbyTudID(tudID)[1]; 
     RentalAssetInfo rai = new RentalAssetInfo(); 
     rai.GetRentalAssetInfo(Int32.Parse(assetID)); 
     if (rai.KMAllowed == 0 || rai.KMAllowed == -1 || rai.KMAllowed == null) 
     { 
      kmallowedSaved = false; 
      txtKmAllowed.Text = ""; 
     } 
     else 
     { 
      txtKmAllowed.Text = rai.KMAllowed.ToString(); 
     } 
    } 
+1

你檢查** IsPostback ?? **如果是,我們可以選擇e您的代碼請 – 2012-04-18 15:32:03

+0

yupzz,代碼中有一個IsPostback,在頁面加載中, – msytNadeem 2012-04-18 15:35:02

+0

文本框中是否有runat = server? – 2012-04-18 15:46:02

回答

-1
use asp:AsyncPostBackTrigger in update panel 
    <asp:UpdatePanel ID="uplKmAllowed" runat="server"> 
      <ContentTemplate> 
       <dx:ASPxTextBox ID="txtKmAllowed" runat="server" Width="215px" OnTextChanged="txtKmAllowed_TextChanged"> 
       </dx:ASPxTextBox> 
      </ContentTemplate> 
<Triggers> 
      <asp:AsyncPostBackTrigger ControlID="LnkEditBuyingLead" EventName="EventName"/> 
     </Triggers> 
     </asp:UpdatePanel>