我有一个数据网格,我想在editcommand中设置下拉列表的值。
但是,我找不到控件?
这是我的.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中调试时,我可以找到Label(lblRole),但不能找到下拉列表。
思想?!?
答案 0 :(得分:1)
我只是想通了。即使IDE未显示该属性,您也可以在设计端设置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>