用户控件可用来实现页面中可重用的代码,是可以一次编写就多处方便使用的功能块。它们是 ASP.NET控件封装最简单的形式。由于它们最简单,因此创建和使用它们也是最简单的。用户控件实际上是把已有的服务器控件组合到一个容器控件中,这样就可以创建出能在整个Web项目中使用的功能强大的对象了。

简单来说,用户控件是能够在其中放置标记和Web服务器控件的容器,可以被看作个独立的单元,拥有自己的属性和方法,并可被放入到ASPX页面上。其工作原理与 ASP. NET页面非常相似。也可以这样理解:当一个Web窗体被当作 Server控件使用时这个Web窗体便是用户控件。下面给出搜索框用户控件的小例子:

一、添加用户Web控件 WebUserControl.ascx

二、WebUserControl.ascx    源码

一个textbox,三个button实现搜索功能

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControl.ascx.cs"Inherits="用户Web控件.WebUserControl" %>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="baidu" runat="server" Text="百度搜索" OnClick="baidu_Click" />
<asp:Button ID="sougou" runat="server" Text="搜狗搜索" OnClick="sougou_Click" />
<asp:Button ID="sanliuling" runat="server" Text="360搜索" OnClick="sanliuling_Click" />

三、WebUserControl.ascx.cs后台源码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; namespace 用户Web控件
{
public partial class WebUserControl : System.Web.UI.UserControl
{ protected void Page_Load(object sender, EventArgs e)
{ } protected void baidu_Click(object sender, EventArgs e)
{
//获取textbox内容
string txt = TextBox1.Text;
//跳转网页
Response.Redirect("https://www.baidu.com/s?ie=utf-8&wd=" + txt);
} protected void sougou_Click(object sender, EventArgs e)
{
//获取textbox内容
string txt = TextBox1.Text;
//跳转网页
Response.Redirect("https://www.sogou.com/web?query=" + txt);
} protected void sanliuling_Click(object sender, EventArgs e)
{
//获取textbox内容
string txt = TextBox1.Text;
//跳转网页
Response.Redirect("https://www.so.com/s?ie=utf-8&q=" + txt);
}
}
}

到这里用户控件已经创建成功了!

四、可以放到任何网页使用了

直接把WebUserControl.ascx拉到*.aspx就可以直接使用了而且还有功能哦!

Search.aspx顶部会生成一句代码

<%@ Register src="WebUserControl.ascx" tagname="WebUserControl" tagprefix="uc1" %>

下图已经把对应关系画了出来

五、在浏览器中查看,大功告成!

点击搜索就可以啦

WebUserControl.ascx可以在任意的*.aspx使用!

源码下载:点击下载  密码: rpqy

ASP.NET Web用户控件的更多相关文章

  1. ASP.NET Web数据控件

    ASP.NET Web数据控件 1.数据控件简介 这包括数据源控件和格式设置控件,前者使您可以使用 Web 控件访问数据库中的数据,后者使您可以显示和操作ASP.NET 网页上的数据.  2.数据控件 ...

  2. (九)ASP.NET自定义用户控件(2)

    http://www.cnblogs.com/SkySoot/archive/2012/09/04/2670678.html 用户控件 在 .NET 里,可以通过两种方式把自己的控件插入到 Web 窗 ...

  3. Web用户控件

    用户控件是个什么东西?自定义的反复重用的控件集合 注意:创建好用户控件后,必须添加到其他web页中才能显示出来,不能直接作为一个网页来显示,因此也就不能设置用户控件为“起始页”. 用户控件与ASP.N ...

  4. ASP.NET的用户控件

    本文介绍如何在ASP.NET中创建用户控件,控件属性的动态修改以及控件的事件出发机制. 简介ASP.NET的服务端控件使得Web开发工作变得更为简单,功能更为强大.我们介绍过如何在ASP.NET页面中 ...

  5. js清空web用户控件的值

    假设你的用户控件里面有: <asp:DropDownList ID="DropDownList1" runat="server"> <asp: ...

  6. asp.net在用户控件中使用ClientScript

    在用户空间中调用ClientScript.RegisterClientScriptBlock方法 ClientScript的命名空间是System.Web.UI.Page,并且要实例化之后的Page才 ...

  7. asp.net读取用户控件,自定义加载用户控件

    1.自定义加载用户控件 ceshi.aspx页面 <html> <body> <div id="divControls" runat="se ...

  8. (八)ASP.NET自定义用户控件(1)

    http://blog.csdn.net/laodao1/article/details/5897366 ASP.NET自定义控件组件开发 第一章:从一个简单的控件谈起 起始开发ASP.NET自定义控 ...

  9. Web用户控件开发--分页控件

    分页是Web应用程序中最常用到的功能之一,在ASP.NET中,虽然自带了一些可以分页的数据控件,但其分页功能并不尽如人意.本文对于这些数据控件的假分页暂且不表,如有不明白的同学请百Google度之. ...

随机推荐

  1. log4.j

    导入第三方jar包 第一步:右击工程名,新建一个文件夹(Fold),名字为lib. 第二步:把第三方jar包复制到lib目录下. 第三步:右击工程名---->properties ----> ...

  2. bootstrap模态框实现相对定位拖拽

    1.正常的拖拽是用绝对定位absolute来实现的,可是bootstrap的模态框是用relative,为了统一更改方便,就照着相对定位来实现拖拽效果. $(".modal .modal-h ...

  3. css box-shadow知识点及多重边框

    box-shadow() 参数: h-shadow:水平阴影的位置.允许负值. v-shadow:垂直阴影的位置.允许负值. blur:模糊距离. spread:扩张半径(可正可负.投影面积则可大可小 ...

  4. python数据分析工具安装集合

    用python做数据分析离不开几个好的轮子(或称为科学棧/第三方包等),比如matplotlib,numpy, scipy, pandas, scikit-learn, gensim等,这些包的功能强 ...

  5. UITableViewCell 分割线如何满屏

    在iOS7中,UITableViewCell左侧会有默认15像素的空白.设置setSeparatorInset:UIEdgeInsetsZero 能将空白去掉. 但是在iOS8中,设置setSepar ...

  6. 超简便的ListView中Adapter的写法

    对于 ListView 的使用,他有两个重点的部分,一个是下拉刷新和加载更多,这个今天我们不讲,另外一个是 BaseAdapter 的使用,这个是今天的主角,BaseAdapter 中又有 ViewH ...

  7. CSS3中的Flexbox弹性布局(一)

    CSS3引入了一种新的布局模式——Flexbox布局,即伸缩布局盒模型(Flexible Box),用来提供一个更加有效的方式制定.调整和分布一个容器里项目布局,即使它们的大小是未知或者动态的,这里简 ...

  8. Laravel 开源电商体验与部署

    体验 开源项目已经部署了体验环境,开源通过扫描下方小程序码进行体验: 我们部署了 Laravel API demo 环境,访问地址:https://demo-open-admin.ibrand.cc/ ...

  9. FileHelpers 用法 z

    用FileHelplers导出csv数据: [DelimitedRecord(",")] [IgnoreEmptyLines()] [ConditionalRecord(Recor ...

  10. 欢迎来到“火龙族智者”的blog

    本blog里有每天更新的比赛感想,新技术体会以及日语学习相关事宜. 主要研究方向是算法,信息安全以及日语. 希望各位能常来看看.