0

さて、ドロップダウン値に基づいて、フォームの値をデータベーステーブルに挿入する必要があります..しかし、今は機能していません..

これは私のaspxページです-

<asp:DropDownList ID="DropDownList1" class="box" runat="server" AutoPostBack="True">
        <asp:ListItem>Confirm Order</asp:ListItem>
        <asp:ListItem>Tentative Order</asp:ListItem>
    </asp:DropDownList>

そして、私はスイッチを使用しました..

switch (DropDownList1.SelectedValue) 
{ 
    case "Confirm Order": 
        ... INSERT 
    break; 
    case "Tentative Order": 
        ...Insert 
    break;
}

しかし、エラーが発生します-

No mapping exists from object type System.Web.UI.WebControls.ListItem to a known managed provider native type.

それを行う正しい方法は何ですか?

4

6 に答える 6

2

以下を使用していることを確認してください。

DropDownList1.SelectedValue

また

DropDownList1.SelectedItem.Value

また

DropDownList1.SelectedItem.Text

INSERT クエリで。

(そして DropDownList1.SelectedItem ではありません - これは ListItem を与えます)

于 2012-08-14T11:40:47.713 に答える
1

そのはず

switch (DropDownList1.SelectedItem.Text)
{
    //Rest Remains the same
}
于 2012-08-14T11:30:39.390 に答える
0

ID値を使ってみませんか。

<asp:DropDownList ID="DropDownList1" runat="server">
        <asp:ListItem runat="server" Text="Confirm Order" Value="1"></asp:ListItem>
 </asp:DropDownList>

そして切り替え

switch (DropDownList1.SelectedValue) 
{ 
    case "1": 
        ... INSERT 
}
于 2012-08-14T11:58:16.167 に答える
0

問題は、DDL をクラス「ボックス」にマッピングしていて、switch/case ステートメントでこのマッピングを使用していないことだと思います。

于 2012-08-14T11:34:23.303 に答える
0

使用してみてください:

DropDownList1.SelectedItem.Value
于 2012-08-14T11:41:45.040 に答える
0

ddl.SelectedItem.Value を参照として取得し、その値を必要なメソッドに渡すことができます。

文字列 tempString = yourDDL.SelectedItem.Value

于 2012-08-14T11:44:11.097 に答える