なぜこれが起こっているのかを見つけるのに苦労しているので、今日ここで何らかの助けが得られることを願っています。編集モードの詳細ビューにドロップダウンリストがあるので、ドロップダウンからカテゴリを選択して更新ボタンを押すと、テーブルで選択されたカテゴリは保存されません。NULL値を示しています。これが私のコードです:ASPXコード:
<asp:DetailsView ID="DetailsView2" runat="server" OnDataBound="DV_DataBound" AutoGenerateRows="False"
BackColor="#CCCCCC" BorderColor="#999999" BorderStyle="Solid" BorderWidth="3px"
CellPadding="4" CellSpacing="2" DataKeyNames="Post_ID"
DataSourceID="DetailsEntryView_DS" ForeColor="Black" Height="50px"
Width="800px" DefaultMode="Edit">
<EditRowStyle BackColor="#FFFFCC" Font-Bold="True" ForeColor="#003366" BorderStyle="Groove" />
<Fields>
<asp:BoundField DataField="Post_ID" HeaderText="RCA ID" ReadOnly="True" SortExpression="Post_ID" />
<asp:TemplateField HeaderText="Root Cause Category" SortExpression="Root_Cause_Category">
<EditItemTemplate>
<asp:DropDownList ID="ddlCountry" runat="server" AppendDataBoundItems="True"
AutoPostBack="True" DataSourceID="DD_DS"
DataTextField="Root_Cause_Category" DataValueField="Root_Cause_Category" >
</asp:DropDownList>
<asp:SqlDataSource ID="DD_DS" runat="server"
ConnectionString="<%$ ConnectionStrings:DSRConnectionString %>"
SelectCommand="SELECT DISTINCT [Root_Cause_Category] FROM [RCA_Category_List]">
</asp:SqlDataSource>
</EditItemTemplate>
//ここにコードビハインドがあります:
protected void DV_DataBound(object sender, EventArgs e)
{
if (DetailsView2.CurrentMode == DetailsViewMode.Edit)
{
//Find Drop down list from aspx page
DropDownList ddlCountry = DetailsView2.FindControl("ddlCountry") as DropDownList;
//check ddlCountry is not null || country drop down list is found
if (ddlCountry != null)
{
//Bind countries data to ddlCountry
ddlCountry.DataTextField = "Root_Cause_Category";
ddlCountry.DataValueField = "Root_Cause_Category";
ddlCountry.DataSource = DD_DS;
//custom method that gets all countries
ddlCountry.DataBind();
}
}
}
だから私はここで何が欠けていますか?