用c#实现批量获取表单中控件

分类:.Net知识问答| 发布:camnprbubuol| 查看: | 发表时间:2010/12/31

因为100多个页面增加删除修改数据,100多个页面可能有上千个表单控件,分别来获取它们很头疼,所以写了以下方法来批量获取。(注:以下函数是根据我的项目实际情况来写的,不过很通用,可以根据具体实际情况捎为修改就可以了)
 
 /// <summary>
      /// 将表单中的控件元素值连接起来
      /// </summary>
      /// <param name="page">要操作的页面</param>
      /// <param name="fromName">操作页面的表单名</param>
      /// <param name="splitName">分隔符</param>
      public static string getFormText(System.Web.UI.Page page, string fromName,string splitName)
      {
          string rs = "";
          foreach (System.Web.UI.Control ctl in page.FindControl(fromName).Controls)
          {
              if (ctl.GetType().Name == "TextBox")
              {
                  rs += "this." + ctl.ID.ToString() + ".Text.Trim()+"+"""+splitName+""+";
              }
              else if (ctl.GetType().Name == "DropDownList")
              {
                  rs += "this." + ctl.ID.ToString() + ".SelectedValue+" + """ + splitName + ""+";
              }
          }
          rs = rs.Substring(0, rs.Length - 1);
          return rs;
      }
以上函数主要实现批量获取textbox与dropdownlist控件,因为我的项目中操作数据页面只涉及到这两个控件。
该函数作用是将页面中控件用某分隔符分开,然后你在项目中就可以进行相应操作了。
 
调用:
getFormText(Page, "from1", "|");
 
我的页面执行结果(具体情况请自行测试):
return this.txName.Text.Trim() + "|" + this.txtJiaQinCunNumber.Text.Trim() + "|" + this.txtJiaQinChuNumber.Text.Trim() + "|" + this.txtJiaQinTZNumber.Text.Trim() + "|" + this.txtJiaQinDJCunNumber.Text.Trim() + "|" + this.txtJiaQinJYHDJNumber.Text.Trim() + "|" + this.txtJiaQinDJChuNumber.Text.Trim() + "|" + this.txtJiaQinZYXRJCunNumber.Text.Trim() + "|" + this.txtJiaQinZYXRJChuNumber.Text.Trim() + "|" + this.txtDRJYXJNumber.Text.Trim() + "|" + this.txtTuCunNumber.Text.Trim() + "|" + this.txtTuTMCLNumber.Text.Trim() + "|" + this.txtTuChuNumber.Text.Trim() + "|" + this.txtTuTZNumber.Text.Trim() + "|" + this.txtFengXiangNumber.Text.Trim() + "|" + this.txtFengFMCLNumber.Text.Trim() + "|"
 
OK,自己在项目中灵活使用吧。

365据说看到好文章不转的人,服务器容易宕机
原创文章如转载,请注明:转载自郑州网建-前端开发 http://camnpr.com/
本文链接:http://camnpr.com/archives/161.html