也许这是一件很容易做到的事情,但到目前为止,我花了一整天的时间才开始工作。
我有一个放满 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/