none
ASP.NET 用FOREACH循环取控件的值 RRS feed

  • 问题

  • 代码:

    foreach(Control item in Controls)

    {

    if(item is CheckBox)

    CheckBox ch=(CheckBox)item;

    if(ch.Checked)

    {

    string text=ch.Text;

    }

    但是,怎么都找不到CheckBox这些控件,请问,问题处在哪里?

    2011年5月10日 3:43

答案

  • 我的代码: for(int i=0;i<this.Control.Count;i++) { foreach(Control item in this.Control[i].Control) { if(item is CheckBox) { CheckBox ch=(CheckBox)item; if(ch.Checked=true){ Response.Write(""); } } } }
    2011年5月11日 7:44

全部回复

  • 你好

    你的ASP.NET PAGE 有用Master Page的嗎

    如果有的話可以嘗試以下方法

    foreach (Control masterControl in Page.Controls)
    {
      if (masterControl is MasterPage)
      {
        foreach (Control formControl in masterControl.Controls)
        {
          if (formControl is System.Web.UI.HtmlControls.HtmlForm)
          {
            foreach (Control contentControl in formControl.Controls)
            {
              if (contentControl is ContentPlaceHolder)
              {
                foreach (Control item in contentControl.Controls)
                {
    

    if(item is CheckBox)

    CheckBox ch=(CheckBox)item;

    if(ch.Checked)

    {

    string text=ch.Text;

    } } } } } } }
    這是因為 ASP.NET 的hierarchy比較複雜
    或者可以參考以下URL
    http://www.dotblogs.com.tw/dotjum/archive/2008/04/19/2951.aspx
    Please correct me if my concept is wrong


    Chi
    2011年5月10日 5:23
  • 我的代码: for(int i=0;i<this.Control.Count;i++) { foreach(Control item in this.Control[i].Control) { if(item is CheckBox) { CheckBox ch=(CheckBox)item; if(ch.Checked=true){ Response.Write(""); } } } }
    2011年5月11日 7:44