ASP.NET动态增加控件 应用篇(一)
在写了这麽多篇後,相信读者 应该 对於 动态控件 有一定的认识,下面 来介绍 藉由动态产生控件来产生,一般企业 常用的表单
目前动态控件的使用上依我经验是比较适合用在,制式表单上,也就是格式、风格很类似的表单上,像是公司常用的请假单、出差单、销售订单、采购订单 等等单据类。
首先,先新增MyBase 这各类,这各类的用途,同前篇的介绍,主要在封装一些 函式,目的在让 後面继承者,只需考虑 介面、处理介面上使用者所输入的值,
而整各网页的架构,都会在MyBase 中设定好,藉以实现 我前面所说,制定开发标准的目的
MyBase.aspx.cs
MyBase
1 using System;
2 using System.Data;
3 using System.Collections;
4 using System.Web.UI;
5 using System.Web.UI.WebControls;
6 using System.Web.UI.HtmlControls;
7 using System.Text;
8 using System.Configuration;
9
10 public class MyBase : System.Web.UI.Page{
11
12 protected HtmlGenericControl sourceTag;
13 protected Button btnSubmit;
14
15 protected override void OnInit(EventArgs e)
16 {
17 base.OnInit(e);
18 HtmlGenericControl msgTag = new HtmlGenericControl();
19 msgTag.ID = "divMsg";
20 sourceTag.Controls.Add(msgTag);
21
22 Button btnSubmit = new Button();
23 btnSubmit.Click += new EventHandler(SubmitBtn_Click);
24 btnSubmit.Text = "SAVE";
25 sourceTag.Controls.Add(btnSubmit);
26
27 Table myTable = new Table();
28 sourceTag.Controls.Add(myTable);
29 dealTableData(myTable);
30 }
31
32 public virtual void dealTableData(Table myTable)
33 {
34
35 }
36 public virtual void SubmitBtn_Click(Object sender, EventArgs e)
37 {
38 }
39 public virtual void ShowMessage(string msg)
40 {
41 HtmlGenericControl msgTag = (HtmlGenericControl)sourceTag.FindControl("divMsg");
42 LiteralControl lc;
43 lc = new LiteralControl(msg + "<br>");
44 msgTag.Controls.Add(lc);
45 }
46 }
再来,会新增两各公用类,cusTable, TxtItem,为了让读者能快速看到程式执行结果,这两各类,可以 先放到MyBase.aspx.cs 这里面,就不用预先编译,就能向前篇一样,直接就能看到 程式结果,这样 也方便 读者 能直接 测试、修改,来了解其中程式码。
CusTable 是为了来帮助动态 产生 控件使用的一个类,他封装了动态产生的重复使用的程式码,使其更容易被呼叫使用。
TxtItem 是一个Value Object 用来存取,产生 控件 所需要设定的参数。一般参数传递,都是在函数介面中定义所需参数,但一旦这函数用多了以後,想要再去调整,这工程就很大了。
而改用Value Object 这样做就可以将所需参数全部封装在里面,既使後面有需调整参数,也不需去修改介面,另一各好处是,可以藉由该Object 来规范参数的值
- 发表评论
-
- 最新评论 更多>>