【发布时间】:2015-07-14 08:36:06
【问题描述】:
在我的 C# 应用程序中,当我在 gridview 中编辑一行时,我从下拉列表中选择了一些新数据。
我正在像这样填充下拉列表:
<asp:TemplateField HeaderText="Gender">
<ItemTemplate>
<asp:Label ID="gender" runat="server" Text='<%# Eval("gender").ToString() %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="DDL_genderList" runat="server">
<asp:ListItem Value="" Text="---"></asp:ListItem>
<asp:ListItem Value="M" Text="M"> </asp:ListItem>
<asp:ListItem Value="F" Text="F"> </asp:ListItem>
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField>
但是当我按下模板中的“编辑”按钮并进入“RowUpdating”事件时,下拉列表中的选定值每次都是该下拉列表中的第一个值。
我需要在下拉列表中选择值,它是标签性别中显示的值。
有人有什么想法吗?
我尝试了很多方法来设置“RowDataBound”事件中的选定值,但都没有成功。
我试过这个:
protected void gvProducts_RowDataBound(object sender, GridViewRowEventArgs e)
{
DataRowView dRowView = (DataRowView)e.Row.DataItem;
if ((e.Row.RowState & DataControlRowState.Edit) > 0)
{
DropDownList genderList = (DropDownList)e.Row.FindControl("DDL_genderList");
genderList.SelectedValue = dRowView[1].ToString();
}
}
【问题讨论】:
-
使用
-
谢谢,但结束的问题?