关闭

ASP.NET 用户控件的创建和使用

发表于:2009-11-23 10:53

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

#
DotNet

  用户控件减少了代码的重用性

  一个用户控件就是一个简单的ASP.NET页面,不过他是包含在另一个ASP.NET页面的,用户控件文件有如下特点:

  1.扩展名为:.ascx。

  2.用户控件中没有“@ page”指令,而是包含“@ Control”指令,该指令对配置及其他的属性进行定义。

  3.用户控件不能作为独立文件运行,而是必须像处理控件一样,将它们添加到Asp.net页中。

  4.用户控件中没有html,body,或form元素,这些元素不许位于宿主中。

  如下:

  Code

  <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Sample.ascx.cs" Inherits="ASP.NET_3._5.UC.Sample" %>
  <asp:Label ID="ColumnName" runat="server"asp:Label>
  <asp:TextBox ID="Condition" runat="server"></asp:TextBox>
  <asp:Button ID="Search" runat="server" Text="搜索"/>

  创建一个搜索数据的用户控件:

  1.添加一个Sample.ascx的文件

  2.从工具箱中拖入1个Lable控件,设置ID为:ColumnName

  3.从工具箱中拖入1个TextBox控件,设置其属性ID为:Condition,

  4.从工具箱里拖入一个Button控件,并设置其属性ID为:Search,Text为搜索。

  看“源”文件如下:

  Code

  <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Sample.ascx.cs" Inherits="ASP.NET_3._5.UC.Sample" %>
  <asp:Label ID="ColumnName" runat="server"asp:Label>
  <asp:TextBox ID="Condition" runat="server"></asp:TextBox>
  <asp:Button ID="Search" runat="server"  Text="搜索"/>

  5.打开Search.ascx.cn文件看后置代码,定义如下属性

  Code

  public string lableText {get;set;}  //提示用户输入什么样的查询条件
  public string connectionString { get; set; }    //连接数据库
  public GridView resultGridView { get; set; }    //要填充的GridView控件
  public string tableName { get; set; }    //要查询数据库中的数据表名
  public string columnCondition { get; set; }    //根据哪一条进行查询
  public string errorMessage { get; set; }    //错误信息

  6.定义一个函数,SearchResult(),该函数将会根据用户输入的查询条件查询到数据并把数据集返回,该函数要利用到数据库访问知识,代码如下:

  Code

  private DataTable SearchResult() {
  System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection(connectionString);
  string strsql = "select * from " + tableName + " where " + columnCondition + " like '%" + this.Condition.Text.ToString() + "%'";
  conn.Open();
  System.Data.OleDb.OleDbDataAdapter ada = new System.Data.OleDb.OleDbDataAdapter(strsql,conn);
  System.Data.DataTable dataTable = new DataTable();
  ada.Fill(dataTable);
  conn.Close();
  return dataTable;
  }

  7.打开Search.ascx文件,双击Search按钮,则在Search.ascx.cs文件中生成按钮事件,这个事件中将绑定数据到GridView中。

  1   protected void Search_Click(object sender, EventArgs e)
  2         {
  3             resultGridView.DataSource = SearchResult().DefaultView;
  4             resultGridView.DataBind();
  5         }
  6

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号