前台代码:<Columns>
<asp:BoundField DataField="DoctorName" HeaderText="姓名" />
<asp:BoundField DataField="Age" HeaderText="年龄" />
<asp:TemplateField HeaderText="性别">
<ItemTemplate>
<%# Eval("Sex") %>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="DSex" runat="server" Height="20px" Width="50px">
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField>
RowDataBound事件的代码:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
//行的状态是: 编辑状态 或者 (交替行且是编辑状态)
if (e.Row.RowState == DataControlRowState.Edit ||
e.Row.RowState == (DataControlRowState.Alternate | DataControlRowState.Edit))
{
DropDownList DSex = e.Row.FindControl("DSex") as DropDownList;
{
ListItem item1 = new ListItem();
item1.Value = "0";
item1.Text = "女";
DSex.Items.Add(item1);
ListItem item2 = new ListItem();
item2.Value = "1";
item2.Text = "男";
DSex.Items.Add(item2);
}
}
}
}
RowUpdating事件的代码:
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
d.ID = (int)e.Keys["ID"];
d.DoctorName = e.NewValues["DoctorName"] as string;
d.Sex = e.NewValues["Sex"] as string;//获取不到下拉框的值
d.Age = int.Parse(e.NewValues["Age"].ToString());
d.DID = (int)e.Keys["DID"];
}
请教大神们如何才能获取到下拉框里Sex的值???