匆匆——后期感悟

        考试系统来的匆匆,赶着日子,匆匆忙忙的做完了。

        考试结束了,终于可以轻松会了。

 

        NO,这时候的工作才真正开始,总结才是重头戏。对用到知识的总结,对需求的理解,对项目开发的感悟,对自己学习态度的认识 ……有好多东西,需要我们去一点一点来整理。

        每次别人问我收获了多少,学了多少东西的时候,我无言以对,我想不起来,可是如果换一种形式,当大家坐在一起讨论的时候,好多东西,就会脱口而出,意识到,有些东西在开发过程中,已经形成了经验,潜移默化的在融入到身边,成为一种习惯吧。

        为什么会想不起来,大多是因为,“太匆匆”。开发项目过程中,一头扎进项目中,忙着理解需求,然后是想着办法,进行实现功能,总是感觉时间不够用。现在想起来,那时真的是十足的“程序猿”,很苦闷。

“太匆匆”蒙蔽了我们的双眼,一心想实现一个功能,考虑欠佳。很形象的一个例子:前两天,米老师安排我们录视频,给二期开发人员看。我录取的视频内容是讲解:动态表格生成界面。于是开始整理这块的知识。无意之间发现,自己当时的一个误区。

        看如下界面:根据文本框中输入的数组长度,显示表格行数:

前台代码:

<table  id="table1" class="table1" style="border-collapse:collapse;" border="1">

              <tbody>  
              </tbody>

</table>
        后台代码
//单击获取表格事件。
  protected void lbtnGetTable_Click(object sender, EventArgs e)
        {
            //定义数组大小
            int intDegree = int.Parse(TextBox1.Text.Trim());
            int[] a = new int[intDegree];
            //给数组赋值
            for (int i = 0; i < intDegree; i++)
            {
                a[i] = i;
            }
            //获取数组个数

	  #region 动态加载表格
		//循环添加行
	            for (int rowcount = 0; rowcount < intDegree; rowcount++)
	            {
		//实例化行对象
	                HtmlTableRow row = new HtmlTableRow();
	              //循环添加列
	                for (int cellcount = 0; cellcount < 2; cellcount++)
	                {
			//实例化列
	                    HtmlTableCell cell;
	                    // Create table header cells for first row.
	                    if (cellcount == 0)
	                    {
	                        cell = new HtmlTableCell();
	                        int b = rowcount + 1;
	                        cell.InnerHtml = "等级" + b;
	
	                    }
	                    else
	                    {
	                        cell = new HtmlTableCell();
	                        HtmlInputText txt = new HtmlInputText("txt" + rowcount);
	                        txt.Value = a[rowcount].ToString().Trim();
	                        cell.Controls.Add(txt);
	                    }
	                    row.Cells.Add(cell);
	                }
	                //向行对象中添加列
	                table1.Rows.Add(row);
	            }
	            #endregion
	}

    回头再看感悟:通过上述代码,可以看出,代码中赋值的数据量不大,而我却是通过动态生成Table,row,cell来实现。而且可以看到,生成row,cell,的时候需要判断第一行。第一列这些内容,这样就难保不会出错。但是当时,做系统的时候就没有好好想过这个问题,脑袋中闪过一个动态生成表格的念头,就开始折腾,然后,有了如上结果。到现在开始录视频的时候,突然发现,我的数据量不大,当时,可是考虑使用一种比较简单的办法来实现。

    通过给“repeat控件”datasours对象绑定数组获得的。

    使用Repeat控件,绑定数据源。

    前台界面:提前加载好repeat控件。

       <table  id="table1" class="table1" style="border-collapse:collapse;" border="1">
                 <tbody> 
                       <asp:Repeater ID="rep1" runat="server">
                                   <ItemTemplate>
                                        <tr class="tr">
                                                <td class="txt c" align="right">
                                                        <%# "第" +Container.DataItem +"行" %>   
                                                </td>
                                                <td class="txt c" align="right">
                                                        <%# Container.DataItem %>   
                                                </td>
                                        </tr>
                                 </ItemTemplate>
                     </asp:Repeater>
              </tbody>
      </table>


后台代码:

		//单击获取表格事件。
		  protected void lbtnGetTable_Click(object sender, EventArgs e)
		        {
		            //定义数组大小
		            int intDegree = int.Parse(TextBox1.Text.Trim());
		            int[] a = new int[intDegree];
		            //给数组赋值
		            for (int i = 0; i < intDegree; i++)
		            {
		                a[i] = i;
		            }
		            //获取数组个数
		
		//使用repeater控件,
		            #region 绑定数据源为数组。
		            rep1.DataSource = a;
		            rep1.DataBind();
		            #endregion
		}

    上述对比可以看出生成动态表格代码要比repeate复杂。首先前台我们只需要拖入repeat控件,然后进行数据绑定,后台只需要绑定数据源datasource,databind即可。

 

    有利有弊吧,当初看来动态生成表格,后期也还是用到了,只是想强调:在使用控件或者其他知识的时候,要先分析一下,那个更合适这块地需要。



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 36
    评论
评论 36
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值