私は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>