asp.net用户控件的使用在应用开发中的应用

2016-12-21 11:06黄汉堂汪洁
电脑知识与技术 2016年28期

黄汉堂+汪洁

摘要:该文结合实际应用和教学实践应用,通过使用用户控件,简化编程过程,实现asp.net网站设计的模块化设计。

关键词:asp.net;用户控件

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)28-0086-02

Abstract: According to practical application and teaching practice application,user controls were applied to simplify the programming process and implement the modular design of ASP.NET web site.

Key words: asp.net; user control

asp.net的应用开发已经相当普遍,相应的技术也得到不断地挖掘,从各方面提升了应用的水平,其中的用户控件(WebUserControl)的作用在整个设计过程中尤为突出,本文旨在对用户控件的使用提供一点借鉴。

目前大多数实用的asp.net应用设计不再是控件的简单、随意堆砌,而是趋于模块化的设计,而模块是可以重复使用的,设计高质量、功能化的模块,对整个asp.net应用设计是至关重要的,用户控件就是居于这样的理念提供相应的功能。

在整个asp.net应用设计中很多网页中功能模块实现的功能和作用是相同或相近的,往往不同的是外观的长、宽比例,色彩,提供的数据内容、显示的行数、显示方式不同而已,在设计过程中充分使用用户控件,可以设计较为合理的用户控件,提高asp.net应用设计的效率。

用户控件的设计和其他asp.net容器对象设计一样,主要包括在用户控件内添加要用到的功能控件,并针对功能控件设计相应的代码来实现相应的功能,由于用户控件的使用情况在主页和不同的功能网页上是有不同的要求,如主页,基本包罗万象(针对网站的主题、内容、板块),内容简洁、板块丰富;功能网页,要求内容尽可能详尽。显然主页和功能网页对应板块的功能是相同的,相差的仅仅是前面提到的长、宽比例等不同,即使是不同的板块也有很多功能是一致的,不同的仅仅是获取数据的方式,如主题、关键词,以及相应分类。

由此,我们可以在设计过程中设计合理的用户控件,当需要对主页、功能网页进行修改、调整时,只需对用户控件进行修改、调整,实现对整个网站的调整,当然用户控件的设计也要针对不同的应用有不同的策略。对外观不变的对象(用户控件),基本采用静态的,不涉及父对象参数传递,如,网页的主题,图标等等,对于主页和功能网页的板块所用的用户控件的设计才是我们设计的主要部分,设计中主要考虑用户控件获取数据库表的方式、内容、显示等,重点是参数传递,即:获取网页的标识(判断是主页或功能网页)、板块标题、内容分类等,将以上参数传递给用户控件,实现对用户控件中的数据获取代码进行相应的拼接,再由对应的功能控件(如listview,datalist等)控制显示的方式,如长、宽比例,显示行数。

现在很多网站的主页和功能网页都由多个板块组成,设计之初,设计一个类似前面的数据访问用户控件,对提高网站设计的效率是一个不错的做法,类似这样的功能模块,如个性化的用户注册、登录,计数器等都可以设计成用户控件。

以下是一个用户控件的使用例子,主要是一个从主页(index.aspx)传递一个文本数据(表名)到用户控件,并通过用户控件中的功能控件(文本框TextBox1)将传递的内容显示出来。

用户控件“WebUserControl1.ascx”代码如下:

<%@ Control Language="C#" AutoEventWireup="true"

CodeBehind="WebUserControl1.ascx.cs" Inherits="用户控件举例.WebUserControl1" %>

用户控件“WebUserControl1.ascx.cs”代码如下:

public partial class WebUserControl1 : System.Web.UI.UserControl

{

private string table_name = "";

public string _table_name

{

get { return table_name; }

set { table_name = value; }

}

protected void Page_Load(object sender, EventArgs e)

{

TextBox1.Text = table_name.ToString();

}

}

主页“index.aspx”代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs" Inherits="用户控件举例.index" %>

<%@ Register src="WebUserControl1.ascx"

tagname="WebUserControl1" tagprefix="uc1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0

Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

主页“index.aspx.cs”代码如下:

public partial class index : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

WebUserControl11._table_name = "名单";

}

}

以上仅传递一个参数的例子,如传递参数较多,可用数组形式传递。

当然作为网站的运行,一般网站的改版或变换主题色彩也是常有的事,改版、改变主题色彩一般仅仅是改变网站的外观结构,板块的位置和相应色彩,对以上用户控件本身来讲不会做大的修改,如果能将网站改版或主题的相应参数传递给用户控件,用户控件根据参数作出相应的自主调整适应整个网站的格调,更能体现用户控件的设计初衷——提高效率。

参考文献:

[1] 宫继兵,孙胜涛,王颖. ASP.NET2.0Web数据库开发教程[M].北京:机械工业出版社,2014.

[2] 常永英. ASP.NET程序设计教程(C#)版[M]. 北京:机械工业出版社,2008.