none
可以透過id取到物件嗎?取道物件後在得到相關value RRS feed

  • 問題

  • 各位先進好:
    小弟有個問題想要請教一下,困擾了我很久。
    ----------------------------------------
    Button btn;
     
         for (int j = 1; j <= 3; j++)
            {
               btn=new Button();
               btn.id="mybtn"+i;
               btn.Text="按鈕"+i;

            }//for 


    protected void myFunction()
        {
          //因為篇幅有線,所以小弟不打出全部。按鈕都有產生出來喔.............
          // 根據上面的for loop,我動態產生了3個Button,且裡面都有text值。
          //小弟想要在這裡抓出第1個~第3個按鈕的Text值,不知道有什麼方法或是函式呢,可以透過id,取得物件,再取值嗎?
          Label lab1=new Label();
          
      for (int j = 1; j <= 3; j++)
        {
         lab1.text="mybtn"+i.Text+lab1.text;//有什麼方法呢,可以透過id,取得物件,再取值嗎?這樣就可以依序抓出按鈕的Text了。
         }
            
        }

    拜託各位了

    謝謝
    • 已編輯 曉霆 2011年2月21日 下午 04:34 OK
    2011年2月21日 下午 04:32

解答

  • 您好,

    可以試著用FindControl方法藉由ID找尋控制項,範例如下(您迴圈中的i應該是指j吧)

    protected void myFunction()
      {
        Label lab1 = new Label();
        for (int j = 1; j <= 3; j++)
        {
          Button btn = Page.FindControl("mybtn" + j) as Button;
          if (btn != null)
            lab1.Text = btn.Text + lab1.Text;
        }
      }
    

    • 已提議為解答 阿尼Moderator 2011年2月22日 上午 01:32
    • 已標示為解答 曉霆 2011年2月22日 下午 01:22
    2011年2月21日 下午 06:31

所有回覆