我是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>
答案 0 :(得分:0)
这是默认行为,即使通过UpdatePanel
进行回发,IsPostBack
也会true
。
如果您想区分回发,可以查看以下内容。
if (ScriptManager.GetCurrent(this).IsInAsyncPostBack)
{
// Your code when the request is partially posted back
}