Непрерывный постбэк - PullRequest
       17

Непрерывный постбэк

0 голосов
/ 01 марта 2019

Я не могу понять, почему моя страница продолжает обновляться, затем я установил точку останова на странице Page_Load на странице aspx.Он продолжает обновлять и загружать Page_Load, и я ничего не делаю.

У меня есть несколько текстовых полей, в которых AutoPostBack = "True" для события TextChange.Ребята, вы думаете, что это проблема?Ребята, вы понимаете, почему он продолжает выполнять 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>

enter image description here

1 Ответ

0 голосов
/ 01 марта 2019

Любой тип PostBack вызовет событие Page_Load.Чтобы не запускать весь код в Page_Load для каждого поста обратно, вам нужно обернуть свой код внутри чека.Простое условие if сделает это за вас.

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