[英]how to stop page refreshing on button click i am using update panel but it is not work
[英]How do I stop an update panel from refreshing on button click?
我是一个更新面板,其中包含几个相关的下拉列表。 单击“提交”按钮后,面板将刷新,并且下拉菜单将重置。 用户参数丢失。 有没有一种方法可以添加代码来阻止更新面板刷新,而我可以将其包含在按钮单击事件中?
更新面板:
<asp:ScriptManager ID="ScriptManager1" runat="server" >
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel2" runat="server" ChildrenAsTriggers="True" UpdateMode="Conditional">
<ContentTemplate>
<li class="small_link"> ..........
<li class="small_link">
<div class="li_div">
<asp:Button ID="btnInventoryRpt" runat="server" Text="Load Report" OnClick="btnInventoryRpt_Click"
CausesValidation="false" UseSubmitBehavior="False" />
</div>
</li>
</ContentTemplate>
</asp:UpdatePanel>
按钮单击事件:
protected void btnInventoryRpt_Click(object sender, EventArgs e)
{
load_inventory_report();
}
在我看来,您是在页面加载事件中绑定下拉列表,但是却忘记了页面回发。
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
//Bind your drowdown list here
}
}
但是可以确定使用更多代码。
感谢您的帮助。 我能够使用AsyncPostBackTrigger完成此操作。 如果还有其他人遇到此问题,这是一个很好的解释。
http://msdn.microsoft.com/zh-CN/library/system.web.ui.asyncpostbacktrigger%28v=vs.110%29.aspx
在您的asp.net页中,从updatepanel标记中删除ChildreAsTrigger属性。 您只需要UpdateMode =“ Conditional”即可强制进行更新
<asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional" />
在您的按钮单击事件中,您可以随后强制进行更新
protected void btnInventoryRpt_Click(object sender, EventArgs e)
{
load_inventory_report();
UpdatePanel2.Update();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.