技术笔记。小试牛刀,在使用Infragistics的UltraWebTab控间过程中总结出的几点经验。
最近正在做个东东,是功能比较多的在线调查系统,其中用到了UltraWebTab 控件,在使用过程中,刻意的想多学一点东西,截至目前,遇到的问题都已经知道怎么解决了,现总结如下,供大家参考。
主要收获就是模板编辑状态下如何控制模板内的控件:
1、最常用到的:数据绑定
先来看看这段代码Page_Load中添加:
if(!IsPostBack)
{
String strConnection = ConfigurationSettings.AppSettings["ConnectionString"];
OleDbConnection objConnection = new OleDbConnection(strConnection);
String strSubSQL = "Select SubName FROM Vote_SubCategory";
OleDbCommand objCommand = new OleDbCommand(strSubSQL,objConnection);
objConnection.Open();
ListBox SubList = (ListBox)this.UltraWebTab1.FindControl("lbxSub");
SubList.Width =100;
SubList.DataSource = objCommand.ExecuteReader();
SubList.DataBind();
objConnection.Close();
}
红色的部分是关键点,使用FindControl,后面的lbxSub是在前台页面里添加的ListBox控进的ID,这个是要手工添加的,不同于其他web服务器控件,这是模板编辑的重点,用这个方法定以后的模板内的控件就可以用SubList这种定义的名字做事情了。好了,数据绑定结束。
接下来进行对SubList控件的双击事件的响应,这里有个自己的经验,还是先看代码:
在Web 窗体设计器生成的代码中
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
InitializeMyComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.ListBox1.SelectedIndexChanged += new System.EventHandler(this.ListBox1_SelectedIndexChanged);
this.Button3.Click += new System.EventHandler(this.Button3_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
private void InitializeMyComponent()
{
ListBox SubList = (ListBox)this.UltraWebTab1.FindControl("lbxSub");
SubList.SelectedIndexChanged +=new EventHandler(SubList_SelectedIndexChanged);
Button SubEdit = (Button)this.UltraWebTab1.FindControl("btnSubEdit");
SubEdit.Click +=new EventHandler(SubEdit_Click);
}
红色的部分是自己添加的,这样做的原因中文注释已经说的很清楚了。就是可以保存修改。有一部分后面的Button响应回用到,解释一下SubList那部分就是添加选择数据到后面的TextBox里,继续代码:
private void SubList_SelectedIndexChanged(object sender, System.EventArgs e)
{
ListBox SubList = (ListBox)this.UltraWebTab1.FindControl("lbxSub");
TextBox txt = (TextBox)this.UltraWebTab1.FindControl("txtSubEdit");
txt.Text = SubList.SelectedValue.ToString();
}
已经很清楚了,这样就可以响应Select到TextBox显示数据了。
其它模板内的控件的事件类似,先忙工作去了。谢谢大家,
我的邮箱:panqi7000@126.com,欢迎讨论。
对了,贴张图形象一点:)

浙公网安备 33010602011771号