遍历页面控键
2008-08-19 15:26
120 查看
//----------------------------------------------------------------------------------------------------
//模块名称: 常用操作类
//功 能: 完成页面的常用操作
//作 者: liuling
//创建日期:
//----------------------------------------------------------------------------------------------------
//修改记录:
//日期 修改人 描述
//----------------------------------------------------------------------------------------------------
//08.8.9 liuling create
//----------------------------------------------------------------------------------------------------
using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Reflection;
using System.IO;
using ICE.BLL;
using ICE.Controls;
namespace ICE.Web.Common
{
public class CommonOperate :System.Web.UI.Page
{
protected PageControl mPageControl = new PageControl();
#region 增加系统日志
/// <summary>
/// 增加系统日志
/// </summary>
/// <param name="logContent">日志内容</param>
public void WriteLog(string logContent)
{
StreamWriter sw = File.AppendText(Server.MapPath(".") + "\\log\\log.txt");
sw.WriteLine(System.DateTime.Now.ToString() + " Erro Infomation:" + logContent);
sw.WriteLine("------------------------------------------------------------------------");
sw.Flush();
sw.Close();
}
#endregion
#region 获取页面需要存翻译内容的控件ID数组
/// <summary>
/// 获取页面需要存翻译内容的控件ID
/// 注:每个前台页面上都需要放置一个存放需要转换语言控件的字符串,字符串变量为Public类型,名称为ControlID
///
/// 如:页面中放置了txtUserName文本框和btnSubmit提交按钮两个控件,
/// 那么我们在当前页面中需要加入这句代码:Public string ControlID = "txtUserName,btnSubmit";
/// </summary>
/// <returns></returns>
public string[] getControls(string path, string ClassName)
{
Assembly ass = Assembly.Load(path);
object obj = ass.CreateInstance(path + "." + ClassName);
string[] controlID = obj.GetType().GetField("ControlID").GetValue(obj).ToString().Split(',');
return controlID;
}
#endregion
#region Get Current page name
/// <summary>
/// Get Current page name
/// </summary>
/// <returns></returns>
public string GetCurrentPageName()
{
string CurrentPage = String.Empty;
int tempIndex = HttpContext.Current.Request.FilePath.ToString().LastIndexOf("/");
CurrentPage = HttpContext.Current.Request.FilePath.ToString().Substring(tempIndex + 1);
return CurrentPage;
}
#endregion
#region Load Page Language
/// <summary>
/// Load Page Language
/// </summary>
/// <param name="page">Page</param>
public void LoadPageLanguage(Page page)
{
if (Session["Language_ID"] != null)
{
string ctlType = "";
string CurrentPage = GetCurrentPageName();
DataSet ds = mPageControl.GetControlLanage(CurrentPage.Substring(0,CurrentPage.Length-5), Session["Language_ID"].ToString());
//foreach (Control ctl in page.Form.Controls)
//{
LoadLanguage(page,ds);
//}
}
}
#endregion
public void LoadLanguage(Control ctl, DataSet ds)
{
string ctlType = "";
for (int i = 0; i < ctl.Controls.Count; i++)
{
if(ctl.Controls[i].Controls.Count != 0)
LoadLanguage(ctl.Controls[i], ds);
DataRow[] dr;
if (ctl.Controls[i].ID != null)
dr = ds.Tables[0].Select("PageControlID='" + ctl.Controls[i].ID + "'");
else
continue;
if (dr != null)
{
ctlType = ctl.Controls[i].GetType().ToString();
switch (ctlType)
{
case "System.Web.UI.WebControls.Label":
((Label)ctl.Controls[i]).Text = dr[0]["ControlText"].ToString();
break;
//case "ICE.Controls.HFLabel":
// ((HFLabel)ctl.Controls[i]).Text = dr[0]["ControlText"].ToString();
// break;
case "ICE.Controls.HFButton":
((HFButton)ctl.Controls[i]).Text = dr[0]["ControlText"].ToString();
break;
case "System.Web.UI.WebControls.Button":
((Button)ctl.Controls[i]).Text = dr[0]["ControlText"].ToString();
break;
case "System.Web.UI.WebControls.LinkButton":
((LinkButton)ctl.Controls[i]).Text = dr[0]["ControlText"].ToString();
break;
case "System.Web.UI.WebControls.HyperLink":
((HyperLink)ctl.Controls[i]).Text = dr[0]["ControlText"].ToString();
break;
}
}
}
}
}
}
相关文章推荐
- jsp页面遍历List<Map<String,Object>>
- 自学笔记二:jsp页面中checkbox遍历
- 如何在ASP.NET下遍历指定页面上所有控件
- scrapy爬虫注意点(2)—— 根据page循环遍历页面参数问题
- 修改页面select下拉框,selected之前选择的,遍历表数据
- struts2中jsp页面遍历map对象
- 遍历页面所有TextBox控件并给它赋值为string.Empty
- 后台传的json 数据遍历到HTML 页面
- 遍历ASP.NET页面控件
- Jsp页面遍历后台传过来的List
- 遍历jsp页面里面的值
- 遍历页面上所有TextBox控件并给它的Enabled赋值为false
- 遍历页面控件
- Web页面中遍历TextBox(或其它控件)的方法
- aspx 遍历页面控件
- 父页面和模态子页面页面传值 以name遍历标签
- 递归遍历页面控件
- 遍历页面上的所有控件
- 【C#】通过遍历IFrame访问页面元素
- 遍历页面上所有一种类型的控件,并赋值