0

なぜこれが起こっているのかを見つけるのに苦労しているので、今日ここで何らかの助けが得られることを願っています。編集モードの詳細ビューにドロップダウンリストがあるので、ドロップダウンからカテゴリを選択して更新ボタンを押すと、テーブルで選択されたカテゴリは保存されません。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();
            }
        }
    }

だから私はここで何が欠けていますか?

4

0 に答える 0