0
我在具有單箇中繼器的頁面內控制用戶。問題是當這個控件被放置在中繼器複選框中時不會觸發CheckedChanged事件。如果這將是一個動態添加的控件,我會檢查CheckedCanged事件是否在Init()中分配了句柄,但這裏的事件是在ascx中指定的,所以我想asp.net負責在正確的位置完成所有的任務。我迷失在這裏:/中繼器內用戶控制內的複選框不會觸發
順便說一句。將單個複選框放在中繼器內不會觸發。但我至少可以使用OnItemCommand有
用戶控制
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="QuoteContainer.ascx.cs" Inherits="EhdSite.Controls.QuoteContainer" %>
<asp:TableRow runat="server" ID="trQuoteRow">
<asp:CheckBox runat="server" ID="cbxConfirm" AutoPostBack="true" OnCheckedChanged="CbxConfirmCheckedChanged" />
</asp:TableRow>
頁
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager2" runat="server" />
<asp:UpdatePanel runat="server" ID="upQuotes" UpdateMode="Conditional" ChildrenAsTriggers="false">
<ContentTemplate>
<asp:Repeater runat="server" ID="rptQuotes">
<ItemTemplate>
<ehd:QuoteContainer
runat="server"
ID="qcQuote"
RowCssClass="rowStyle"
HighlightedRowCssClass="selectedRowStyle"
Quote="<%# Container.DataItem %>"
OnQuoteSelectedChanged="QuoteSelectedChanged" />
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</ContentTemplate>
</asp:UpdatePanel>
</form>
</body>
在此情況下,你綁定的中繼?如果你在OnPreRender中使用它,它肯定無法工作!我需要看到usercontrol和頁面的代碼隱藏,或者至少有關中繼器和checkbox的部分... – Vinz 2009-12-09 10:42:24
In page Page_Load – 2009-12-09 10:53:22
我將它移動到Page_Init並開始工作。你能解釋它作爲這個問題的答案,所以我可以給你信用? – 2009-12-09 10:56:07