0

簡単なドロップダウンリストがいくつかあります。1 つ目は、autopostback が true に設定された html の linqdatsource によってバインドされています。最初の選択によって、2 番目のデータが決まります。最初に項目を選択すると、selectedindexChanged イベントが発生します。ただし、選択された値は常にリストの最初の項目であり、リストは再バインドされてデフォルトの状態に戻ります。これを防ぐためにコード ビハインドでバインドする必要がありますか?

<asp:DropDownList ID="dd_shirtcolor" runat="server" AppendDataBoundItems="true" AutoPostBack="True">
    <asp:ListItem Text="Select Color" />
</asp:DropDownList>

<asp:LinqDataSource ID="LinqDataSource1" runat="server"
    ContextTypeName="IPC.IPCDataDataContext" EntityTypeName=""
    TableName="Shirts" Where="IsActive == @IsActive">
    <WhereParameters>
        <asp:Parameter DefaultValue="true" Name="IsActive" Type="Boolean" />
    </WhereParameters>
</asp:LinqDataSource>
4

3 に答える 3

2

項目を「選択」する前にリストに入力できるように、ViewState が有効になっていることを確認してください。また、Page_Load で再入力しないようにして、選択した値を失わないようにしてください。例えば。if (!IsPostback) { // 入力 }

于 2013-06-18T17:34:02.080 に答える
0

この問題は、linqdatasource を使用してバインドする代わりに、page_init メソッドのコード ビハインドのドロップダウンを適切な !postback 条件付きでバインドすることで回避できました。しかし、何が原因だったのかはまだわかりません。

于 2013-06-20T06:48:36.923 に答える