此文章只代表作者在某一段时间内的看法与观点。
对于一个程序员来说,他们最希望看到了就是如何可以减少他们的工作,也就是说使用最少的code,实现最多的function。在Asp.Net开发的过程中,对data controls的操作是不必不可少,最基本的功能就是对Controls data的加载及Controls选择或输入的值存储起来,也就是所谓的Load 和Update方法。而我们在平时的软件开发的过程中又是怎样来实现这些功能的呢?一般情况下我相信大家都和我之前一样,通过对页面中的每一个Controls做更新或加载,如下代码所示。
一.传统的操作模式
HTML 代码:
1
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ControlsOpr.aspx.cs" Inherits="Adrienne.WCF.WebUI.ControlsOpr" %> 2
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 3
<html xmlns="http://www.w3.org/1999/xhtml"> 4
<head runat="server"> 5
<title>Untitled Page</title> 6
</head> 7
<body> 8
<form id="form1" runat="server"> 9
<div> 10
<dir> 11
用户名:<asp:TextBox ID="UserName" runat="server"></asp:TextBox> 12
</dir> 13
<dir> 14
性别:<asp:RadioButtonList ID="Sex" runat="server" RepeatColumns="2"> 15
<asp:ListItem>男</asp:ListItem> 16
<asp:ListItem>女</asp:ListItem> 17
</asp:RadioButtonList> 18
<asp:Button ID="Upload" runat="server" Text="加载" onclick="Upload_Click" /> 19
<asp:Button ID="Update" runat="server" Text="更新" onclick="Update_Click" /> 20
</dir> 21
</div> 22
<asp:GridView ID="GridView1" runat="server"> 23
</asp:GridView> 24
</form> 25
</body> 26
</html>
CS代码:
1
using System;2
using System.Collections;3
using System.Configuration;4
using System.Data;5
using System.Linq;6
using System.Web;7
using System.Web.Security;8
using System.Web.UI;9
using System.Web.UI.HtmlControls;10
using System.Web.UI.WebControls;11
using System.Web.UI.WebControls.WebParts;12
using System.Xml.Linq;13

14
namespace Adrienne.WCF.WebUI15
{
16
public partial class ControlsOpr : System.Web.UI.Page17
{
18
protected void Page_Load(object sender, EventArgs e)19
{
20
if (!IsPostBack)21
{
22
//Create the Date23
DataTable dt = new DataTable();24
dt.Columns.Add("USER_NAME");25
dt.Columns.Add("SEX");26
DataRow row = dt.NewRow();27
row["USER_NAME"] = "Xiong Wei";28
row["SEX"] = "男";29
dt.Rows.Add(row);30
ViewState["dt"] = dt;31
}32
}33

34
protected void Upload_Click(object sender, EventArgs e)35
{
36
//Original method37
if (ViewState["dt"] != null)38
{
39
DataTable dt = ViewState["dt"] as DataTable;40
////Should be check each column before41
this.UserName.Text = dt.Rows[0]["USER_NAME"] as string;42

本文探讨了在ASP.NET开发中如何减少工作量,通过自动化方法处理数据加载和更新。传统的做法是手动处理每个Control的Load和Update事件,但当页面控件数量庞大时,工作量显著增加。作者提出了一种优化方案,即创建一个通用类来批量处理控件的数据加载和更新,减少了重复代码,提高了效率。
最低0.47元/天 解锁文章
874

被折叠的 条评论
为什么被折叠?



