C# asp.net中的页面加载两次
我的页面加载在任何页面调用中都会命中两次 我正在使用trirand dll来jqgrid。当我刷新页面时,它会调用页面加载两次。没有带src blank的图像标记,也没有写入注释处理程序 请帮忙 ASPX页C# asp.net中的页面加载两次,c#,asp.net,jqgrid,pageload,C#,Asp.net,Jqgrid,Pageload,我的页面加载在任何页面调用中都会命中两次 我正在使用trirand dll来jqgrid。当我刷新页面时,它会调用页面加载两次。没有带src blank的图像标记,也没有写入注释处理程序 请帮忙 ASPX页 <%@ Page Title="" Language="C#" MasterPageFile="~/app_assets/main.master" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="RM_Admi
<%@ Page Title="" Language="C#" MasterPageFile="~/app_assets/main.master" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="RM_Admin.rm_app_infrastructure.business_rules._default" %>
<%@ Register Assembly="Trirand.Web" TagPrefix="trirand" Namespace="Trirand.Web.UI.WebControls" %>
<asp:Content ID="Content1" ContentPlaceHolderID="cph_main_head_1" runat="server">
<link href="../../app_assets/js/jquery/plugins/colorbox/colorbox.css" rel="stylesheet" type="text/css" />
<script src="../../app_assets/js/jquery/plugins/colorbox/jquery.colorbox.js" type="text/javascript"></script>
<link href="../rm_app.css" rel="stylesheet" type="text/css" />
<script src="../rm_app.js" type="text/javascript"></script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="cph_main_body_1" runat="server">
<form id="Form1" runat="server">
<div id="page_content" class="page_content">
<input id="btnCreateRule" type="button" value="Create Business Rule" />
<asp:DropDownList ID="ddlst_tags" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlst_tags_SelectedIndexChanged"></asp:DropDownList>
<br />
<br />
<trirand:JQGrid runat="server" ID="grdRelease" Width="900px" Height="360" OnSearching="grdRelease_Searching">
<Columns>
<trirand:JQGridColumn
Searchable="false"
TextAlign="Center"
Width="40"
Sortable="false"
CssClass="EditImage" />
<trirand:JQGridColumn
HeaderText="Business Rule"
DataField="business_rule_id"
DataType="Int"
Searchable="true"
SearchToolBarOperation="Contains"
TextAlign="Center"
Width="150" />
<trirand:JQGridColumn
HeaderText="Rule Name"
DataField="rule_name"
DataType="String"
Searchable="true"
SearchToolBarOperation="Contains"
CssClass="divDescription"
Width="300" />
<trirand:JQGridColumn
HeaderText="Rule description"
DataField="rule_description"
TextAlign="Left"
DataType="String"
Searchable="true"
SearchToolBarOperation="Contains"
CssClass="divDescription"
Width="400" />
<trirand:JQGridColumn
HeaderText="Created Date"
DataField="create_date"
Searchable="true"
SearchToolBarOperation="Contains"
DataType="DateTime"
TextAlign="Center" />
</Columns>
<ToolBarSettings ShowSearchToolBar="true" />
<PagerSettings PageSize="50" PageSizeOptions="[50]" />
</trirand:JQGrid>
<div id="divShowContent" class="ActionPopupContent" style="display: none;"></div>
</div>
</form>
服务器端代码
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
bind_tag_dropdown();
BindBusinessRuleGrid(0);
}
}
public void BindBusinessRuleGrid(int n_tag_id)
{
obj_dt = obj_document.GetBusinessRules(n_tag_id);
foreach (DataRow dr in obj_dt.Rows) // search whole table
{
dr["rule_description"] = Regex.Replace(dr["rule_description"].ToString(), "<.*?>", string.Empty).Replace("\r\n", string.Empty); //remove all the html tag and new line command
dr["rule_name"] = Regex.Replace(dr["rule_name"].ToString(), "<.*?>", string.Empty).Replace("\r\n", string.Empty);//remove all the html tag and new line command
}
grdRelease.DataSource = obj_dt;
grdRelease.DataBind();
}
protected void bind_tag_dropdown()
{
ddlst_tags.DataSource = Tools.retrieve_tags();
ddlst_tags.DataTextField = "tag_title";
ddlst_tags.DataValueField = "tag_id";
ddlst_tags.DataBind();
}
网格本身会自动返回到 它承载在页面上以加载数据。本质上,页面是第一位的 加载页面\u加载执行一次,然后加载页面后 网格向服务器发出GET请求以获取其数据,因此 具有回发的第二个请求=False
在这两种情况下,Page.IsPostBack是否为false?或者第二次呼叫实际上是回发吗?第二次呼叫是回发吗?另外,bind_tag_下拉列表和BindBusinessRuleGrid做什么?放置断点,页面的第一次点击查看调用堆栈,页面的第二次点击查看调用堆栈,您将发现页面执行两次的原因!学习使用调试功能!如何检查调用堆栈@mybirthname@Esko在这两种情况下,iPostBack均为false: