ASP.Net AJAX表单导致Page_Load

时间:2018-02-06 08:34:13

标签: c# asp.net ajax

我是AJAX的新手,我尝试创建一个非常小的测试,只需在按下按钮时更新标签而不重新加载页面。调用c#方法并更新标签,但是因为使用IsPostBack = true调用Page_Load,页面似乎仍然重新加载。我在这里错过了什么?使用Visual Studio 2017。

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <link href="Default.css" rel="stylesheet" type="text/css" />

</head>
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="MainScriptManager" runat="server" enablepartialrendering="true" />
        <div class="main">   
            <div>
                <asp:UpdatePanel ID="pnlMain" runat="server">
                    <ContentTemplate>
                        <asp:Label runat="server" ID="lblTest" Text="Inte tryckt" />
                        <asp:Button ID="btnImport" runat="server" class="button" Text="Import" OnClick="btnSelectFile_Click" />
                    </ContentTemplate>
                </asp:UpdatePanel>
            </div>


        </div>

    </form>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

这是默认行为,即使通过UpdatePanel进行回发,IsPostBack也会true

如果您想区分回发,可以查看以下内容。

if (ScriptManager.GetCurrent(this).IsInAsyncPostBack)         
{          
    // Your code when the request is partially posted back         
}