contentとしてtextboxを持ち、triggerとしてdropdownlist を持つupdatePanelがあります。dropdownlistのselectedIndexを変更するたびに、データベースにクエリが実行され、textboxの値が取得されます。
今、私はいくつかの新しい値を入力し、更新 ボタンをクリックしてデータベースに保存します。
ここでの問題は、古い値( dropdownlistによってもたらされた値)を取得し続けることです。
どうすればこれを解決できますか?
編集
<asp:UpdatePanel ID="uplKmAllowed" runat="server">
<ContentTemplate>
<dx:ASPxTextBox ID="txtKmAllowed" runat="server" Width="215px" OnTextChanged="txtKmAllowed_TextChanged">
</dx:ASPxTextBox>
</ContentTemplate>
</asp:UpdatePanel>
コードビハインド: これは、cboAsset がユーザーコントロールにあるため、プログラムでトリガーを追加することです
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);
関数
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();
}
}