2

更新パネル内にプレースホルダーがあります。Page_Load で、次のコードを使用してユーザー コントロールを読み込みます。

Control ctrl = LoadControl("~/UserControls/ListViewThumbs.ascx");
ucThumbs = (ListViewThumbs)ctrl;
ucThumbs.ID = "ucThumbs";


ucThumbs.SelectedIndexChanged += new UserControlSelectedIndexChanged(listView_SelectedIndexChanging);
ucThumbs.ItemDoubleClicked += new UserControlItemDoubleClicked(UserControlDoubleClicked);

ucPH.Controls.Clear();
ucPH.Controls.Add(ucThumbs);


AsyncPostBackTrigger trigger = new AsyncPostBackTrigger();
trigger.ControlID = ucThumbs.UniqueID;
trigger.EventName = "ItemDoubleClicked";
updateMyDocs.Triggers.Add(trigger);

以下の aspx コード:

<asp:UpdatePanel ID="updateMyDocs" UpdateMode="Always" ChildrenAsTriggers = "true" EnableViewState = "true" runat="server">
<ContentTemplate>
    <asp:PlaceHolder ID="ucPH" runat="server"></asp:PlaceHolder>
</ContentTemplate>

ユーザーコントロールをクリックすると、完全なポストバックが発生します。どうすれば防ぐことができますか?

4

1 に答える 1

0

更新パネルを userControl の外側ではなく内側に配置します。

更新パネルに UserControls を配置すると、このような問題が発生します

于 2012-07-18T14:40:27.240 に答える