奇妙な理由で(ボタンをクリックして)ポストバックを発行すると、ページはポストバックを実行しますが、結果のページは完全に空白になります。ページソースを表示しようとすると、フォームの再送信の確認メッセージが表示されます(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>
もちろん、2つのデータソースに加えて
ありがとう、