我无法在编辑模板的下拉列表中获取预选文本。请看我的代码:
<EditItemTemplate>
<asp:DropDownList ID="droplist" runat="server">
</asp:DropDownList>
</EditItemTemplate>
c#code
protected void gvDetails_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if ((e.Row.RowState & DataControlRowState.Edit) > 0)
{
DropDownList droplist = (DropDownList)e.Row.FindControl("droplist");
droplist.DataSource = EquipmentBLL.getunitdrop();
droplist.DataTextField = "UnitName";
droplist.DataValueField = "UnitID";
droplist.DataBind();
droplist.Items.Insert(0, new ListItem(" Select Unit ", "0"));
//droplist.Items.FindByText(unittypetext).Selected = true;
}
}
}
有人可以告诉我应该做些什么来获得预先选择的下拉菜单吗?
问候 侯赛因
答案 0 :(得分:0)
现在,您正在使用数据源中的选项填充DropDownList
。但是,您没有将选定值绑定到任何内容。
无论您正在做什么来绑定Gridview
中的其他字段,也要为DropDownList
的SelectedValue执行此操作。
如果没有看到GridView
标记的其余部分,我认为这样的事情应该有效:
<EditItemTemplate>
<asp:DropDownList ID="droplist" runat="server"
SelectedValue='<%# Bind("UnitID") %>' >
</asp:DropDownList>
</EditItemTemplate>
上面的“UnitID”是GridView数据源中要绑定到DropDownList的SelectedValue的字段的名称。