首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在TemplateField中操作DropDownList

在TemplateField中操作DropDownList
EN

Stack Overflow用户
提问于 2011-05-27 02:51:46
回答 1查看 3.5K关注 0票数 1

我在GridView中的TemplateField中有一个下拉列表。

我想动态添加列表项,并编写代码来处理索引更改时的情况。既然我不能直接引用TemplateField中的DropDownList,那么我该如何操作这个列表呢?

下面是我的代码:

代码语言:javascript
复制
<asp:TemplateField HeaderText="Transfer Location" Visible="false">
   <EditItemTemplate>
      <asp:DropDownList ID="ddlTransferLocation" runat="server" ></asp:DropDownList>
   </EditItemTemplate>
 </asp:TemplateField>
EN

回答 1

Stack Overflow用户

发布于 2011-05-27 07:18:43

如果我没弄错你想做什么,你可以像这样把项目添加到下拉列表中:

代码语言:javascript
复制
foreach (GridViewRow currentRow in gvMyGrid.Rows)
{
    DropDownList myDropDown = (currentRow.FindControl("ddlTransferLocation") as DropDownList);
    if (myDropDown != null)
    {
        myDropDown.Items.Add(new ListItem("some text", "a value"));
    }
}

然后,如果您的意思是处理DropDownList的索引更改,则只需向控件添加一个事件处理程序:

代码语言:javascript
复制
<asp:DropDownList ID="ddlTransferLocation" runat="server" OnSelectedIndexChanged="ddlTransferLocation_SelectedIndexChanged" AutoPostBack="true"></asp:DropDownList>

然后,在该事件处理程序中,您可以使用(sender as DropDownList)从其中获取所需的任何内容:

代码语言:javascript
复制
protected void ddlTransferLocation_SelectedIndexChanged(object sender, EventArgs e)
{
    DropDownList myDropDown = (sender as DropDownList);
    if (myDropDown != null) // do something
    {
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6143586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档