簡體   English   中英

Asp.net 更新 DropDownList 選定項

[英]Asp.net update DropDownList selected item

我遇到了在表單中使用 DropDownList 項目的問題。 主表單由 SQLDataSource 提供……所有表單小部件都綁定到特定的記錄字段等。我使用 DropDownList 更改了一個表單小部件(一個 TextBox),以允許用戶僅在多個值之間進行選擇。 .. 我通過另一個 SQLDataSource 提供此控件。 雖然表單處於插入模式,但沒有問題,但是當我切換到編輯模式時,我無法使用來自主記錄的值設置 DropDownList 所選項目。 我能解決這個問題嗎? 這是我的 .aspx 代碼示例:

<asp:FormView ID="_frmData" runat="server" DataKeyNames="id" DataSourceID="_sdsTable1" DefaultMode="Insert">
    <InsertItemTemplate>
        <asp:TextBox ID="_txtField0" runat="server" Text='<%#Bind("field0")%>'/>
        <asp:DropDownList ID="_ddlField1" runat="server" DataSourceID="_sdsTable2" DataTextField="field_text" DataValueField="field_value" AppendDataBoundItems="true">
            <asp:ListItem Value="" Text="None" Selected="True" />
     </asp:DropDownList>
</InsertItemTemplate>
<EditItemTemplate>
     <asp:TextBox ID="_txtField0" runat="server" Text='<%#Bind("field0")%>'/>
     <asp:DropDownList ID="_ddlField1" CssClass="input_medium" runat="server" DataSourceID="_sdsTable2" DataTextField="field_text" DataValueField="field_value" AppendDataBoundItems="true">
           <asp:ListItem Value="" Text="None" Selected="True" />
     </asp:DropDownList>
</EditItemTemplate>
</asp:FormView>
<asp:SqlDataSource ID="_sdsTable1" runat="server" ConnectionString="<%$ ConnectionStrings:_db %>"
                    ProviderName="<%$ ConnectionStrings:_db.ProviderName %>"
                    SelectCommand=" SELECT
                                        field0, field1
                                    FROM
                                        table1
                                    WHERE
                                        id=@id;"
                    UpdateCommand=" UPDATE
                                        table1
                                    SET
                                       `field0` = @field0
                                       `field1` = @field1
                                    WHERE
                                        id = @id;""
                    InsertCommandType="StoredProcedure"
                    InsertCommand="create_table1_entry">
<InsertParameters>
    <asp:ControlParameter Name="field1" ControlID="_frmData$_ddlField1" Type="String" PropertyName="SelectedItem.Text" />
</InsertParameters>
<UpdateParameters>
    <asp:ControlParameter Name="field1" ControlID="_frmData$_ddlField1" Type="String" PropertyName="SelectedItem.Text" />
</UpdateParameters>
</asp:SqlDataSource>

<asp:SqlDataSource ID="_sdsTable2" runat="server" ConnectionString="<%$ ConnectionStrings:_db %>"
                    ProviderName="<%$ ConnectionStrings:_db.ProviderName %>"
                    SelectCommand=" SELECT
                                        field_value, field_text
                                    FROM
                                        table2;" />
Try This

myDropDown.Items.FindByValue("Your Main Record Value").Selected=true;

或者

myDropDown.Items.FindByText("Your Main Record Text").Selected=true;

正如我猜測的那樣,我可以在 DDL 中使用 SelectedValue='<%#Bind("field1")%>' 屬性來實現結果。 這里唯一的問題是為什么 Intellisense 不建議 SelectedValue 作為 DropDownList 的屬性......謝謝大家。

暫無
暫無

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

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