0

私はgridviewでいくつかのドロップダウンを使用しており、ドロップダウンが「月曜日」と言う場所を(ユーザーフレンドリーのために)挿入時に単純な「1」に変換できました(したがって、SQL日時クエリを簡単に実行できます) . ここで、グリッドビューの編集テンプレートに対して逆の操作を実行できるようにする必要があります。今すぐ編集を押すと、「選択した値がコントロールに存在しません」というエラーが表示されます。この理由は、値が1ではなくa であるためだと理解していますMonday。問題を解決するための私の失敗した試みは次のとおりです。

protected void EditFoodItem(object sender, GridViewEditEventArgs e)
{
 string Day = ((DropDownList)gvMainView.FooterRow.FindControl("ddlDay")).SelectedValue;
        switch (Day)
        {
            case "1":
                Day = "Monday";
                break;
            case "2":
                Day = "Tuesday";
                break;
            case "3":
                Day = "Wednesday";
                break;
            case "4":
                Day = "Thursday";
                break;
            case "5":
                Day = "Friday";
                break;
            case "6":
                Day = "Saturday";
                break;
            case "7":
                Day = "Sunday";
                break;
        }
}

グリッドビューの値が、選択した値を取得するには1どうすればよいですかMonday...これはかなり単純に思えますが、私をほのめかしています

ここにコントロールがあります

<EditItemTemplate>
            <asp:DropDownList ID="ddlDay" SelectedValue='<%# Bind("Day") %>' Text='<%# Bind("Day") %>' runat="server">
                    <asp:ListItem>Monday</asp:ListItem>
                    <asp:ListItem>Tuesday</asp:ListItem>
                    <asp:ListItem>Wednesday</asp:ListItem>
                    <asp:ListItem>Thursday</asp:ListItem>
                    <asp:ListItem>Friday</asp:ListItem>
                    <asp:ListItem>Saturday</asp:ListItem>
                    <asp:ListItem>Sunday</asp:ListItem>
            </asp:DropDownList>
        </EditItemTemplate> 
4

1 に答える 1