2017年7月8日 星期六

[研究] 沒有足夠的堆疊可安全地繼續執行此程式。

[研究] 沒有足夠的堆疊可安全地繼續執行此程式。

2017-07-04

沒有足夠的堆疊可安全地繼續執行此程式。如果呼叫堆疊上有太多函式,或者堆疊上的函式使用太多堆疊空間,就可能發生這種情況。

Double Click 可以看 100% 原始圖

實際測試,它不一定會發生在哪一行  DetailsView2.Fields[xx].Visible = false;,但是總是在其中一行  DetailsView2.Fields[xx].Visible = false;。

後來把中的幾行 Visible 敘述
protected void DetailsView2_DataBound(object sender, EventArgs e)
        {
            DetailsView2.Fields[10].Visible = false;
            DetailsView2.Fields[11].Visible = false;
            DetailsView2.Fields[12].Visible = false;
            DetailsView2.Fields[13].Visible = false;
        }

嘗試改為下面,問題依舊。
        protected void DetailsView2_DataBound(object sender, EventArgs e)
        {
            DetailsView dv = (DetailsView)sender;

            dv.Fields[10].Visible = false;
            dv.Fields[11].Visible = false;
            dv.Fields[12].Visible = false;
            dv.Fields[13].Visible = false;
        }

最後那幾行從從 DetailsView1_DataBound() 搬到 Page_Load() 後正常。

(完)

沒有留言:

張貼留言