私はRepeaterの中にAutoPostBackを持つDropDownListを配置しています。
(リストアイテムがリピータのItemDataBoundに読み込まれます)Repeater内のDropDownList:SelectedIndexChangeを処理してDataItemを取得する方法は?
<asp:Repeater ID="rptWishlist" OnItemCommand="rptWishlist_ItemCommand" onItemDataBound="rptWishlist_ItemDataBound" runat="server">
<ItemTemplate>
...
<asp:DropDownList ID="ddlSize" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlSize_SelectedIndexChanged" />
...
バックまず、この関数はさえポストに解雇されなかった
-
protected void ddlSize_SelectedIndexChanged(object sender, EventArgs e)
{
//This function is never called
}
DataItemを取得したらどうしたらいいですか?
アム私はこれは間違った方法やって?
ありがとうございます。
protected virtual void RepeaterItemCreated(object sender, RepeaterItemEventArgs e)
{
DropDownList MyList = (DropDownList)e.Item.FindControl("ddlSize");
MyList.SelectedIndexChanged += ddlSize_SelectedIndexChanged;
}
そして、あなたのaspxファイルでは、あなたのリピータのマークアップにこれを追加します:、ポストバックのためのドロップダウンリストを登録し、次のコードを追加するには
おかげで多くのことをお試しください!次に、DropDownListが属するDataItemを取得するにはどうすればよいですか? – Aximili
DataItemは、ItemCreatedメソッドおよびItemDataBoundメソッドでのみ使用できます。私はあなたがする必要があるだろうと思うリピーターには、検索するアイテムを参照するために使用できるいくつかのコントロールを追加すると思います。 – jmaglio
なぜ 'OnSelectedIndexChanged =" ddlSize_SelectedIndexChanged "'? – toddmo