C# GridView中的ASP.Net DropDownList-Codebehind始终将第一项视为选中项
我正在开发一个ASP.Net应用程序,代码隐藏为C。在aspx页面中,有一个gridview控件。一列包含dropdownlist,如下所示: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: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。