.net - 获取 ASP.Net 2.0 Repeater 控件中的当前索引

标签 .net asp.net drop-down-menu repeater

也许这是一件很容易做到的事情,但到目前为止,我花了一整天的时间才开始工作。

我有一个放满 table 的中继器。中继器中的每一行都有一组控件。其中最重要的是 AutoPostback = true 的下拉列表。

当用户更改所选索引时,此 ddl 必须回发,以便我可以隐藏/显示 ddl 中的控件。

问题是,当用户在服务器端更改 ddl 中的选定索引和控制回发时,我无法获取包含进行回发的 ddl 的行的索引。

希望它足够清楚,并且有人可以在这里帮助我。

谢谢!

编辑: 也许这还不够清楚:当我在转发器的 ItemTemplate 中放置一个 ID="ddlSomething"的控件时,我在数据源中有 5 行,我将在转发器中有 5 行和 5 ddl具有相同的 ID(在服务器端,在客户端将类似于“ctl01$ddlSomething”、“ctl02$ddlSomething”。 我的问题是,当 ddl 回发时,我不知道这 5 个(例如)ddl 中的哪一个是进行回发的,因为只要查看 Request.Form 变量我就可以看到控件“ddlSomething”

最佳答案

尝试:

<asp:DropDownList runat="server" id="myDDL" OnSelectedIndexChanged="myDDL_Changed" />

//fired when the DDL selected index changes
void myDDL_Changed(object sender, EventArgs e)
{
    //sender is the ddl
    DropDownList theDropDown = sender as DropDownList;
    int repeaterItemIndex = ((RepeaterItem)theDropDown.NamingContainer).ItemIndex;
}

关于.net - 获取 ASP.Net 2.0 Repeater 控件中的当前索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1359211/

相关文章:

c# - 从方法返回内存流

c# - Windows 窗体卡在多个异步任务上

c# - 如何从 C# 中的 WinForm.Opacity 中排除控件

asp.net - ASPX : Placeholder not declared

c# - ASPxGridView——如何简单地添加仅具有 DataSource 属性的示例值?

c# - 如何在 C# 中调用 async void 事件处理程序?

asp.net - 如何在CommandItemTemplate中找到RadGrid的控件

javascript - 当我尝试使用 ajax post 将值从 JavaScript 发送到 PHP 时出现错误值

c# - 在 TableCell 中插入 DropDownList

jquery - 如何检查下拉菜单中有多少个选项?