【发布时间】:2025-11-28 22:00:02
【问题描述】:
我在编辑模式下在 Telerik RadGrid EditItemTemplate 列中显示 asp 下拉列表选定值时遇到问题。当我在一行上进入编辑模式时,未显示下拉列表的选定值。下拉菜单有效,只是不显示当前数据。下面是我的 RadGrid 列布局。
<Columns>
<telerik:GridEditCommandColumn></telerik:GridEditCommandColumn>
<telerik:GridBoundColumn DataField="ContactID" HeaderText="ContactID" ReadOnly="true" UniqueName="ContactID" AllowFiltering="false"
DataType="System.Int16" DefaultInsertValue="" Exportable="false" Visible="false">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Contact" HeaderText="Contact" SortExpression="Contact" UniqueName="Contact"></telerik:GridBoundColumn>
<telerik:GridTemplateColumn UniqueName="ContactTemplateColumn" HeaderText="Contact Type">
<ItemTemplate>
<asp:Label ID="Contact" runat="server"
Text='<%# DataBinder.Eval(Container.DataItem, "Contact") %>'>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="ddlContacts" runat="server" DataTextField="ContactType" DataValueField="ContactTypeID"></asp:DropDownList>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridButtonColumn ConfirmText="Delete this contact?" ConfirmDialogType="RadWindow"
ConfirmTitle="Delete" ButtonType="ImageButton" ImageUrl="~/Images/filterCancel.gif" Text="Delete" CommandName="Delete" Exportable="false" />
</Columns>
我已将下面显示的代码放在 RAdGrid_ItemCommand 方法中,计划是在呈现编辑表单时,角色的选定值将显示在标签中。但是我收到一条错误消息““对象引用未设置为对象的实例。”我认为问题是我没有找到标签用户控件。
if (ItemCommand == "Edit")
{
using (ExpungeEntities db = new ExpungeEntities())
{
var editableItem = ((GridEditableItem)e.Item);
var strUserId = (int)editableItem.GetDataKeyValue("UserID");
var d = db.USERS_T_DATA.SingleOrDefault(c => c.UserID == strUserId);
string strRole = d.Role;
(editableItem.FindControl("lblRole") as Label).Text = strRole.Trim();
}
}
有人可以帮助我并提供解决方案,说明如何在 EditItemTemplate 中显示 ASP 下拉列表的选定值?
【问题讨论】:
-
对不起,你能编辑你的帖子吗? aspx 代码似乎不正确。你的下拉列表在哪里?
-
@AlexandruPopa 感谢您的回复。我已经找到解决方案并将其作为答案发布。
-
感谢@AlexandruPopa 我已经编辑了我的帖子并现在显示所有列。下面显示的答案适用于不同的情况,不适用于此问题。下面的一个是绑定一个下拉
标签: gridview telerik radgrid radgridview