簡體   English   中英

從網頁Asp.Net中的動態控制獲取價值

[英]Get Value From Dynamic Control in Page Asp.Net

我有一個動態創建的物料清單,每個訂單項都是一個動態的user_control。 user_control有一個用於輸入數量的文本框。 當我單擊“提交”按鈕時,我想從每個文本框中獲取所有數量,但是控件在頁面加載時都消失了,頁面顯示了零個控件。

我知道您可以為文本框打開自動回發,然后捕獲每個單獨的text_changed_event,但這似乎並不高效。 我只想在用戶單擊“提交”按鈕時遍歷所有這些內容,然后將它們帶回到相同的物料清單頁面。

首先,控件在回發時消失的原因是它們是動態添加到您的頁面上的,並且當發生回發時,有關動態控件的信息會丟失,並且頁面也沒有有關這些動態控件的信息。

現在要從動態用戶控件內的控件獲取值,您已經使用FindControl方法或必須遍歷用戶控件的Controls集合來獲取對TextBoxes的引用。

有關如何執行此操作的想法:

//1. Using ID of user control
//inside button_click method
protected void btnSubmit_Click(...)
{
     TextBox txt1 = idOfUserControl.FindControl(textBoxId);
}

//2. Using type of user control
//inside button_click method
protected void btnSubmit_Click(...)
{
     foreach(Control c in Page.Controls)
        if(c is YourUserControlClass)
        {
             YourUserControlClass control = (YourUserControlClass)c;
             TextBox txt1 = c.FindControl(textBoxId);
        }
}

暫無
暫無

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

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