【问题标题】:reload on button click in重新加载按钮点击
【发布时间】:2015-02-27 02:02:29
【问题描述】:

这是我的 aspx:

<asp:Panel ID="pnl_updateClinicVisit" runat="server" CssClass="modalPopupClinicVisitEntry2" DefaultButton="bt_editClinicVisit_submit"  Style="display:none">
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:Button AutoPostBack="false" UseSubmitBehavior="false" ID="AddMedicationChange" ClientIdMode="Static" runat="server" Text="Add Med Change" OnClick="AddMedicationChange_Click" />
            <asp:Panel ID="AddNewMedicationPanel" runat="server">
                <asp:TextBox ID="NewDrugName" OnTextChanged="NewDrugName_TextChanged" runat="server"></asp:TextBox>
                <asp:AutoCompleteExtender ID="NewDrugNameAutoCompleteExtender"
                    runat="server"
                    TargetControlID="NewDrugName"
                    MinimumPrefixLength="1"
                    EnableCaching="false"
                    CompletionSetCount="1"
                    CompletionInterval="500"
                    ServiceMethod="GetDrugs">
                </asp:AutoCompleteExtender>
                <asp:DropDownList OnSelectedIndexChanged="NewDrugChange_SelectedIndexChanged" ID="NewDrugChange" runat="server">
                    <asp:ListItem>Drug +</asp:ListItem>
                    <asp:ListItem>Drug -</asp:ListItem>
                    <asp:ListItem>Dose ↑</asp:ListItem>
                    <asp:ListItem>Dose ↓</asp:ListItem>
                </asp:DropDownList>
                <asp:Button AutoPostBack="false" UseSubmitBehavior="false" ID="SubmitMedChange" runat="server" Text="Add to Visit" OnClick="SubmitMedicationChange_Click" />
            </asp:Panel>
            <asp:ModalPopupExtender ID="updateClinicModalPopupExtender" runat="server" TargetControlID="bt_editClinicVisit_dummy"
                PopupControlID="pnl_updateClinicVisit" CancelControlID="bt_editClinicVisit_cancel"
                DropShadow="true" BackgroundCssClass="modalBackground" />
        </ContentTemplate>
    </asp:UpdatePanel>          
 </asp:Panel> 

由于某种原因,当我单击“AddnewMdication”和“SubmitMedChange”按钮时,我的页面正在重新加载。当我拥有AutoPostBack=false UseSubmitBehavior=false 时,事件触发,然后页面重新加载。如果我没有这些属性,那么页面会在事件触发之前重新加载。如何在此模式中获得 AJAX 功能?

【问题讨论】:

  • 您是否已将脚本管理器添加到您的页面?
  • 是的,我在页面中添加了一个脚本管理器。

标签: c# asp.net ajax modalpopupextender


【解决方案1】:

尝试将您的Buttons 设置为AsyncPostBackTrigger。您可以通过添加Triggers 部分并将UpdatePanel 声明为有条件更新来做到这一点。

例如

<asp:UpdatePanel ID="UpdatePanel1" runat="server"
    UpdateMode="Conditional">
    <Triggers>        
        <asp:AsyncPostBackTrigger ControlID="AddMedicationChange" EventName="Click" />
        <asp:AsyncPostBackTrigger ControlID="SubmitMedChange" EventName="Click" />
    </Triggers>    
    <ContentTemplate>        
        <%-- Your code here --%>
    </ContentTemplate>
</asp:UpdatePanel>

这应该做的是明确声明这两个按钮是异步的。

如果这不起作用,请将相关代码发布到您的两个按钮 OnClick 事件中吗? AddMedicationChange_ClickSubmitMedicationChange_Click

如果您在异步回发期间尝试与代码隐藏中 UpdatePanel 之外的控件进行交互,就会开始发生奇怪的事情。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-25
    • 1970-01-01
    • 2012-11-24
    • 2013-10-13
    相关资源
    最近更新 更多