Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET页在回发时为空,需要多页刷新_C#_Asp.net_Postback - Fatal编程技术网

C# ASP.NET页在回发时为空,需要多页刷新

C# ASP.NET页在回发时为空,需要多页刷新,c#,asp.net,postback,C#,Asp.net,Postback,出于某种奇怪的原因,当我发布回发(通过单击按钮)时,页面执行回发,但结果页面完全为空。如果我尝试查看页面源,我会收到一条确认表单重新提交消息(使用chrome) 但是,如果我按f5几次,最终将加载正确的页面 我注意到,当按下按钮导致某种数据库访问时,通常会发生这种情况。为什么会发生这种情况?我如何避免 编辑:我注意到,当我添加以下代码时,这种情况开始更频繁地发生,但即使在之前,这种情况也经常发生: protected void BindPartList() { if (UnitsDrop

出于某种奇怪的原因,当我发布回发(通过单击按钮)时,页面执行回发,但结果页面完全为空。如果我尝试查看页面源,我会收到一条确认表单重新提交消息(使用chrome)

但是,如果我按f5几次,最终将加载正确的页面

我注意到,当按下按钮导致某种数据库访问时,通常会发生这种情况。为什么会发生这种情况?我如何避免

编辑:我注意到,当我添加以下代码时,这种情况开始更频繁地发生,但即使在之前,这种情况也经常发生:

protected void BindPartList()
{
    if (UnitsDropDown.Text == "Imperial")
    {
        if (PartListGridView.Columns.Count > 4)
            PartListGridView.Columns.Remove(PartListGridView.Columns[4]);
        BoundField colIndex4 = new BoundField();
        colIndex4.DataField = "IMPUNITS";
        colIndex4.HeaderText = "Unit";
        colIndex4.SortExpression = "IMPUNITS";
        PartListGridView.Columns.Add(colIndex4);
        PartListGridView.DataSourceID = "ImpPartInfoObjectSource";
    }
    else
    {
        if (PartListGridView.Columns.Count > 4)
            PartListGridView.Columns.Remove(PartListGridView.Columns[4]);
        BoundField colIndex4 = new BoundField();
        colIndex4.DataField = "DWGUNIT";
        colIndex4.HeaderText = "Unit";
        colIndex4.SortExpression = "DWGUNIT";
        PartListGridView.Columns.Add(colIndex4);
        PartListGridView.DataSourceID = "MetricPartInfoObjectSource";
    }
    PartListGridView.DataBind();
}
前端看起来像:

<asp:GridView ID="PartListGridView" runat="server" ShowHeaderWhenEmpty="True" AutoGenerateColumns="False"
    Width="100%" Font-Size="11pt" DataKeyNames="PARTNUM" AllowSorting="true">
    <Columns>
        <asp:BoundField DataField="PARTNUM" HeaderText="PARTNUM" SortExpression="PARTNUM"
            ReadOnly="True" />
        <asp:BoundField DataField="PARTDESC" HeaderText="PARTDESC" SortExpression="PARTDESC" />
        <asp:BoundField DataField="CATEGORY" HeaderText="CATEGORY" SortExpression="CATEGORY" />
        <asp:BoundField DataField="COLOUR" HeaderText="COLOUR" SortExpression="COLOUR" />
    </Columns>
</asp:GridView>

当然,除了这两个数据源之外


谢谢,

您是否在页面上动态创建控件?一个小的示例代码可以很好地解释您从何处调用BindPartList()方法?当您说它返回一个“空白屏幕”时,这是否意味着完全没有返回HTML,或者是有一个head/body/form等,但没有datagrid?@Scottie在页面上完全没有任何内容。@M4N当我第一次加载页面和更改单位时