0

次のマークアップを使用して、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 を作成し、コマンドでページにプッシュするにはどうすればよいですか?

4

1 に答える 1

1

ビューステートを無効にするソリューションが機能しても、ポストバックごとにデータベースからデータをロードするため、最適とはほど遠いことに注意してください。

それが忙しいウェブサイトなら、あなたは本当にそれを望んでいません. SaleIDDropDown.DataBind(); にもう少し時間をかけてみてください。指図。それはデータを更新する必要がありますが、これを正しい場所で行っていないか、そのようなことをしていると思います…</p>

于 2013-08-13T10:02:43.097 に答える