私は単純な ASP Webform プロジェクト (asp フレームワーク 4.0) に取り組んでおり、VS 2010 を使用しています。
私のウェブサイトには、UpdatePanelsを使用したいページがいくつかあります。
私の Web サイトの別のページで、AjaxControlToolkit ライブラリに含まれているModalPopupExtenderコントロールを使用する必要があります。
私が遭遇した問題は、プロジェクトに AjaxControlToolkit ライブラリを含めると、UpdatePanels がまったく機能しないことです(このライブラリのコンポーネントを実装する必要はなく、プロジェクトに参照を追加するだけです)。
ライブラリへの参照を削除すると、正常に動作します。
これらの両方の要素を調停する方法についてのアイデアはありますか? UpdatePanel と AjaxControlToolkit lib ?
アドバイスありがとうございました
私が使用する単純な UpdatePanel コードは次のとおりです。
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand" OnItemDataBound="Repeater1_ItemDataBound">
<ItemTemplate>
<asp:LinkButton ID="lnk" runat="server" Text="show" CommandName="show"></asp:LinkButton>
</ItemTemplate>
</asp:Repeater>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Label runat="server" ID="label1"></asp:Label>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Repeater1" EventName="ItemCommand" />
</Triggers>
</asp:UpdatePanel>
コードビハインドでは、これを使用します:
protected void Page_Load(object sender, EventArgs e)
{
Repeater1.DataSource = new List<String>(){"zero", "un", "deux", "trois","quatre"};
Repeater1.DataBind();
}
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
LinkButton lnk = ((LinkButton)e.Item.FindControl("lnk"));
lnk.CommandArgument = e.Item.ItemIndex.ToString();
}
protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "show")
label1.Text = "You click" + e.CommandArgument;
}