用c#实现批量获取表单中控件
分类:.Net知识问答| 发布:camnprbubuol| 查看:687 | 发表时间: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,自己在项目中灵活使用吧。