我有一个datagrid,我想在editcommand中设置一个dropdownlist的值。
但是,我找不到控件?
这是我的.net:
Private Sub dgUsers_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dgUsers.EditCommand
Dim ddl As DropDownList = CType(e.Item.Cells(3).FindControl("ddlRole"), DropDownList)
'ddl.SelectedValue = "20"
dgUsers.EditItemIndex = e.Item.ItemIndex
Call bindUsers()
dgUsers.ShowFooter = False
End Sub下面是我的html:
<asp:TemplateColumn HeaderText="Role">
<ItemTemplate>
<asp:Label ID="lblRole" runat="server" Text='<%# Eval("GetRoleName") %>' />
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList id="ddlRole" runat="server">
<asp:ListItem Text="User" Value="0" />
<asp:ListItem Text="WRA" Value="10" />
<asp:ListItem Text="Admin" Value="20" />
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateColumn>在EditCommand中调试时,我可以找到标签(lblRole),但找不到下拉列表。
想法?!?
发布于 2012-06-20 02:11:48
我刚想通了。即使集成开发环境不显示该属性,您也可以在设计端设置SelectedValue:
<EditItemTemplate>
<asp:DropDownList id="ddlRole" runat="server" SelectedValue='<%# Eval("GetRoleId") %>'>
<asp:ListItem Text="User" Value="0" />
<asp:ListItem Text="WRA" Value="10" />
<asp:ListItem Text="Admin" Value="20" />
</asp:DropDownList>
</EditItemTemplate>https://stackoverflow.com/questions/11106838
复制相似问题