在ContentPage使用时,ASP的UpdatePanel不起作用 [英] ASP UpdatePanel doesn't work when used in ContentPage
问题描述
在一个正常的网页表单中使用时我的code正常工作。但是当我使用masterpages用它在一个WebForm,这是行不通的。
页头:〜/经理/ BaseManager.master
和一些嵌套的母版页:Base.master> Pages.master> BaseManager.master
ASP
< ASP:的ScriptManager ID =ScriptManager1=服务器>< / ASP:ScriptManager的>
< ASP:的UpdatePanel ID =UpdatePanel1=服务器的UpdateMode =条件>
<&触发器GT;
< ASP:AsyncPostBackTrigger事件名称=点击
控件ID =btnUpdateEditPage/>
< /触发器>
<&的ContentTemplate GT;
< ASP:标签ID =lblTest=服务器文本=标签>< / ASP:标签>
< /&的ContentTemplate GT;
< / ASP:的UpdatePanel>
< ASP:按钮的ID =btnUpdateEditPage的CssClass =btnUpdateEditPage=服务器
文本=按钮的OnClick =btnUpdateEditPage_Click/>
C#
保护无效btnUpdateEditPage_Click(对象发件人,EventArgs的发送)
{
lblTest.Text + =**;
}
执行以下操作请:
1-添加UpdatePanel1.Update();如下所示:
保护无效btnUpdateEditPage_Click(对象发件人,EventArgs的发送)
{
lblTest.Text + =**;
UpdatePanel1.Update();
//你的UpdatePanel应的UpdateMode =有条件因为你现在有什么..
}
2 - 把更新面板内的按钮
3删除触发器不火后回来,所以你的code具有如:
< ASP:的ScriptManager ID =ScriptManager1=服务器>< / ASP:ScriptManager的>
< ASP:的UpdatePanel ID =UpdatePanel1=服务器的UpdateMode =条件>
<&的ContentTemplate GT;
< ASP:标签ID =lblTest=服务器文本=标签>< / ASP:标签>
< ASP:按钮的ID =btnUpdateEditPage的CssClass =btnUpdateEditPage=服务器
文本=按钮的OnClick =btnUpdateEditPage_Click/>
< /&的ContentTemplate GT;
< / ASP:的UpdatePanel>
My code works fine when used in a normal webform. but when I use it in a webform using masterpages, It doesn't work.
page header : ~/Manager/BaseManager.master
and some nested master pages : Base.master > Pages.master > BaseManager.master
ASP
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger EventName="Click"
ControlID="btnUpdateEditPage" />
</Triggers>
<ContentTemplate>
<asp:Label ID="lblTest" runat="server" Text="Label"></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
<asp:Button ID="btnUpdateEditPage" CssClass="btnUpdateEditPage" runat="server"
Text="Button" OnClick="btnUpdateEditPage_Click" />
C#
protected void btnUpdateEditPage_Click(object sender, EventArgs e)
{
lblTest.Text += "**";
}
Do the following please:
1- Add UpdatePanel1.Update(); like the following:
protected void btnUpdateEditPage_Click(object sender, EventArgs e)
{
lblTest.Text += "**";
UpdatePanel1.Update();
//Your UpdatePanel should be UpdateMode="Conditional" as what you have now..
}
2- Put the button inside the update Panel
3- Remove the Trigger to not fire a post back, so your code has to be like:
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Label ID="lblTest" runat="server" Text="Label"></asp:Label>
<asp:Button ID="btnUpdateEditPage" CssClass="btnUpdateEditPage" runat="server"
Text="Button" OnClick="btnUpdateEditPage_Click" />
</ContentTemplate>
</asp:UpdatePanel>
这篇关于在ContentPage使用时,ASP的UpdatePanel不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!