![](/img/trans.png)
[英]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.