簡體   English   中英

更改數據時,SqlDataSource不會從數據庫中重新選擇數據

[英]SqlDataSource not reselecting data from database when data is changed

我有一個由SqlDataSource填充的下拉列表,帶有以下標記:

落下:

<asp:DropDownList ID="SaleIDDropDown" runat="server" CssClass="dropdown" 
    DataSourceID="DropDownDataSource" DataTextField="Title" DataValueField="ID"
    AppendDataBoundItems="true">
</asp:DropDownList>

數據源

<asp:SqlDataSource ID="DropDownDataSource" runat="server" 
    ConnectionString="<%$ ConnectionStrings:SQL-DEV %>" 
    SelectCommand="SELECT [ID], [Title], [userid] FROM [AdSelect]">
</asp:SqlDataSource>

我遇到的問題是,通過正在制作的Web界面更改了某些數據時(例如,我刪除了一個項目,或者更改了它的標題),即使下拉列表顯然已更改,但下拉列表仍會填充舊數據在數據庫中(我使用SQL Server Studio檢查過)。 如果我重新加載頁面, 那么最后會正確填充下拉列表。

我需要一種“強制”重新取回/選擇數據的方法,但是到目前為止,我的努力失敗了。 我曾嘗試在代碼中執行此操作,但未生效。

DropDownDataSource.Select(DataSourceSelectArguments.Empty);
DropDownDataSource.DataBind();

SaleIDDropDown.DataBind();

即使運行下拉菜單,它仍然不會更新下拉菜單。

如何制作下拉菜單及其SqlDataSource並將其推送到命令頁面?

請注意,即使您的禁用視圖狀態的解決方案可以正常工作,但它也不是最佳選擇,因為它將在每次回發時從數據庫加載數據。

如果這是一個繁忙的網站,那么您實際上並不需要它。 嘗試在SaleIDDropDown.DataBind()上花費更多時間; 命令。 那必須刷新數據,但我想您未在正確的位置執行此操作或類似的操作……

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM