簡體   English   中英

計算動態生成的頁面數

[英]Count the number of dynamically generated pages

這可能是一個簡單的解決方案,但我無法解決。

我有動態生成的頁面,並計算了需要通過LINQ語句生成的頁面(例如):(此更新代碼顯示了在哪里調用questionCount並將其設置為_labelQuestionCount -這是來自較大代碼段的摘錄動態生成所有頁面並在動態頁面中設置所有控件的方法)

using (DataClasses1DataContext db = new DataClasses1DataContext())
{
    int questionsCount = (from q in db.vw_Custom_SelectQuestionnaireQuestions        
    select q.tbl_QuestionnaireQuestion_Description).Count();
    _labelQuestionCount = questionsCount.ToString();
}

    Label labelCount = new Label();
    labelCount.ForeColor = Color.Blue;
    labelCount.Location = new System.Drawing.Point(35, 290);
    labelCount.Size = new System.Drawing.Size(150, 30);
    labelCount.Tag = _dataSetRadioButtons.Tables["tbl_QuestionnaireAnswer_Score"];
    labelCount.Text = String.Format("Question Count: {0}", _labelQuestionCount);

這是全局變量:

   string _labelQuestionCount;

原因是,當我單擊動態創建的頁面時,我想對其進行“計數”,以便在我的“下一個按鈕”事件中,我將知道x頁面是我的最終頁面,並且我可以導航/執行其他操作碼。

下一個按鈕的當前代碼為:(已更新)

        void nextButton_Click(object sender, EventArgs e)
    {  
        bool c = IsChecked(_form);

        if (c == true)
        {
            var w = Convert.ToInt32(_labelQuestionCount);
            _form.Dispose();
            w--;

            if (w == 0)
            {
                //go to another page or do something else
            }
        }
        else
        {
            MessageBox.Show("You must select at least one.");
        }
    }

如您所見,我嘗試使用全局變量(例如__labelQuestionCount )中的值,並嘗試對其進行“遞減”計數直至達到0並執行其他操作。

但是,因為我的頁面是動態生成的,所以我永遠都不會達到0。

這可能是錯誤的解決方法,因此,如果有人可以提出建議或提供幫助,將不勝感激。

親切的問候,geoNeo

您必須在下一個按鈕單擊事件內將減小的值(w--)重新分配給全局變量_labelQuestionCount。 因為如果您單擊下一步,則_labelQuestionCount對於所有單擊將保持不變。

我會考慮為Page分配一些int PageID ,如果還沒有的話。 而且,當您從基礎中恢復頁面的集合時,您無需計算它們的數量,而是獲得現在可用的最新頁面的PageID

button_click在單擊時再次詢問大學中的最后一個元素(因為它可能已更改,新頁面已添加到大學中),重新命名其PageID ,並檢查您要擺動的頁面是否具有相同的ID,如果是,請執行所需的操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM