2012-04-18 68 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>