Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# GridView中的ASP.Net DropDownList-Codebehind始终将第一项视为选中项_C#_Asp.net_Gridview_Data Binding_Drop Down Menu - Fatal编程技术网

C# GridView中的ASP.Net DropDownList-Codebehind始终将第一项视为选中项

C# GridView中的ASP.Net DropDownList-Codebehind始终将第一项视为选中项,c#,asp.net,gridview,data-binding,drop-down-menu,C#,Asp.net,Gridview,Data Binding,Drop Down Menu,我正在开发一个ASP.Net应用程序,代码隐藏为C。在aspx页面中,有一个gridview控件。一列包含dropdownlist,如下所示: <asp:GridView ID="gvModulesSem1" runat="server" AutoGenerateColumns="False"> <Columns> <asp:TemplateField HeaderText="Grade" HeaderStyle-HorizontalAlig

我正在开发一个ASP.Net应用程序,代码隐藏为C。在aspx页面中,有一个gridview控件。一列包含dropdownlist,如下所示:

<asp:GridView ID="gvModulesSem1" runat="server" AutoGenerateColumns="False">
    <Columns>
        <asp:TemplateField HeaderText="Grade" HeaderStyle-HorizontalAlign="Left" HeaderStyle-CssClass="gvModulesTextPadding">
            <ItemStyle Width="120px" CSSClass="gvModulesTextPadding" />
            <ItemTemplate>
                <asp:DropDownList ID="ddlSelectGrade" Text='<%# Eval("Grade")%>' runat="server">
                    <asp:ListItem Value="-1.0">Select Grade</asp:ListItem>
                    <asp:ListItem Value="Distinction">Distinction</asp:ListItem>
                    <asp:ListItem Value="A">A</asp:ListItem>
                    <asp:ListItem Value="B+">B+</asp:ListItem>
                    <asp:ListItem Value="B">B</asp:ListItem>
                    <asp:ListItem Value="C+">C+</asp:ListItem>
                    <asp:ListItem Value="C">C</asp:ListItem>
                    <asp:ListItem Value="D+">D+</asp:ListItem>
                    <asp:ListItem Value="D">D</asp:ListItem>
                    <asp:ListItem Value="P">P</asp:ListItem>
                    <asp:ListItem Value="F">F</asp:ListItem>
                </asp:DropDownList>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>
还有其他一些列,它们都包含标签。但是,为了简单起见,我删除了其他列的代码

在页面加载中,当page.IsPostBack为false时,GridView将绑定到已填充的数据表。这将填充GridView。所有下拉列表都选择了第一项,即选择等级

作为用户,我更改下拉列表中的选定项。然后单击网格外的按钮。在按钮单击事件过程中,当我尝试读取任何下拉列表中的选定项时,我发现它始终是第一项

如何更正此问题?
谢谢。

您如何从下拉列表中选择所选项目?你能在这里添加js代码吗?我已经写了C代码。在GridViewRow对象中,我为ddlSelectGrade查找控件。我将返回值键入DropDownList。然后我得到DropDownList对象的SelectedValue。