首页 > 解决方案 > 连续回发

问题描述

我不知道为什么我的页面不断刷新,然后我在 aspx 页面上的 Page_Load 上放置了一个断点。它不断刷新和加载 Page_Load 而我没有做任何事情。

对于 TextChange 事件,我有一些具有 AutoPostBack="True" 的文本框。各位觉得是这个问题吗?你们知道为什么它继续做POST吗?

感谢你们。

这些是一些代码。

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="VesselSchedule.aspx.cs" Inherits="VesselHeader.VesselSchedule" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>


<asp:Panel runat="server" DefaultButton="btnVesselCode">
  <label class="col-sm-4 control-label">Vessel Code</label>                  
  <div class="col-sm-4">
      <asp:TextBox ID="txtVesselCode" runat="server" class="form-control pull-left" placeholder="Vessel Code" onkeypress="return EnterEvent(event)" AutoPostBack="True" OnTextChanged="txtVesselCode_TextChanged" />
      <asp:Label ID="lblDescription" runat="server" Text="" ForeColor="blue" Visible="true"></asp:Label>
      <asp:Button ID="btnVesselCode" runat="server" Text="Button" visible="false" OnClick="btnVesselCode_Click"/>
   </div>
 </asp:Panel>

<div class="col-sm-4">
    <div class="input-group date">
         <div class="input-group-addon">
             <i class="fa fa-calendar"></i>
         </div>
         <asp:TextBox ID="txtPublishedETADate" runat="server" ClientIDMode="Static" class="form-control" OnTextChanged="txtPublishedETADate_TextChanged" AutoPostBack="True"/>
     </div>
 </div>

在此处输入图像描述

标签: c#asp.netpostback

解决方案


任何类型的 PostBack 都会触发 Page_Load 事件。要在每次回发时不运行 Page_Load 中的整个代码,您需要将代码包装在检查中。一个简单的 if 条件将为您完成。

if (!Page.IsPostBack)
{
//code to execute on fresh page load only.
}

推荐阅读