Axi*_*ili 6 .net c# asp.net repeater
我将一个DropDownList与AutoPostBack放在Repeater中.
(ListItems填充在转发器的ItemDataBound上)
<asp:Repeater ID="rptWishlist" OnItemCommand="rptWishlist_ItemCommand" onItemDataBound="rptWishlist_ItemDataBound" runat="server">
<ItemTemplate>
...
<asp:DropDownList ID="ddlSize" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlSize_SelectedIndexChanged" />
...
Run Code Online (Sandbox Code Playgroud)
首先,这个功能甚至没有在回发后被解雇
protected void ddlSize_SelectedIndexChanged(object sender, EventArgs e)
{
//This function is never called
}
在我使用DataItem之后,我将如何获得它?
我这样做是错误的吗?
先感谢您.
小智 13
要注册回发的下拉列表,请添加以下代码:
protected virtual void RepeaterItemCreated(object sender, RepeaterItemEventArgs e)
{
DropDownList MyList = (DropDownList)e.Item.FindControl("ddlSize");
MyList.SelectedIndexChanged += ddlSize_SelectedIndexChanged;
}
Run Code Online (Sandbox Code Playgroud)
在您的aspx文件中,将其添加到转发器标记:
OnItemCreated="RepeaterItemCreated"
Run Code Online (Sandbox Code Playgroud)
然后,在ddlSize_SelectedIndexChanged函数中,您可以像这样访问父控件:
DropDownList d = (DropDownList)sender;
(RepeaterItem) d.Parent...
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
17092 次 |
| 最近记录: |