我无法弄清楚为什么我的页面一直在刷新,然后我在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>
任何类型的PostBack都会触发Page_Load事件。要不在每个帖子上运行Page_Load中的整个代码,您需要将代码包装在一个支票中。一个简单的if条件会为你做。
if (!Page.IsPostBack)
{
//code to execute on fresh page load only.
}