`
webcode
  • 浏览: 5929732 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

asp.net 给用户控件增加事件和属性

 
阅读更多

意图是这样的:

管理页面中,总会有一些新增啊,删除啊,修改啊之类的按钮,为了方便,我想做个用户控件;

这个用户控件,里面有三个按钮,新增、修改、删除;这个用户控件要在多个页面上出现,当然,修改与删除的对像也不相同;所以,这个用户控件,在不同的页面中,这三个按钮会使用不同的事件;

(如果只是加事件,直接双击按钮就可以加了)

用户控件的代码
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="UserLogin.ascx.cs" Inherits="UserLogin" %>
<html xmlns="http://www.w3.org/1999/xhtml" >

<body>
<table border="1">
<tr>
<td>用户名:</td>
<td><asp:TextBox ID="txt1" runat="server"></asp:TextBox></td>
</tr>
<tr>
<td>密 码:</td>
<td><asp:TextBox ID="txt2" TextMode="password" runat="server"></asp:TextBox></td>
</tr>

<tr>
<td><asp:Button ID="ButAdd" runat="server" Text="新增" OnClick="ButAdd_Click" />
<asp:Button ID="ButMod" runat="server" Text="修改" OnClick="ButMod_Click" />
<asp:Button ID="ButDel" runat="server" Text="删除" OnClick="ButDel_Click" />
</td>
<td><asp:LinkButton ID="LinkButton1" Text="登陆" OnClick="MyOnClick" runat="server" ></asp:LinkButton></td>
</tr>
</table>
</body>
</html>

用户控件C#中的代码
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

//using System.Collections.Generic;
//using System.Text;

public partial class UserLogin : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{

}

//添加属性
public string UserName
{
get { return txt1.Text; }
set { txt1.Text = value; }
}
//添加属性
public string PassWord
{
get { return txt2.Text; }
set { txt2.Text = value; }
}

//定义一个委托
public delegate void userEvent(object sender, EventArgs arg);
//

//添加事件
public event userEvent Login; //添加事件句柄
protected void MyOnClick(object Sender, EventArgs e)
{
if (Login != null)
Login(this, new EventArgs()); //激活Login事件
}


////定义一个委托
//public delegate void userEvent(object sender, EventArgs arg);
////

//添加三个事件
public event userEvent Add;
public event userEvent Delete;
public event userEvent Modify;
//


#region 控件中按钮的事件
protected void ButAdd_Click(object sender, EventArgs e)
{
if (this.Add != null)
this.Add(this, e);
}
protected void ButDel_Click(object sender, EventArgs e)
{
if (this.Delete != null)
this.Delete(this, e);
}

protected void ButMod_Click(object sender, EventArgs e)
{
if (this.Modify != null)
this.Modify(this, e);
}
#endregion
}
上面用到了事件与委托;利用用户控件中的按钮来触发自己定义的事件;

那么,在aspx页面中引用这个控件时:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register Src="UserLogin.ascx" TagName="UserLogin" TagPrefix="uc1" %>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body style="margin-left:0px">
<form id="form1" runat="server">
<div>
<uc1:UserLogin ID="UserLogin1" OnAdd="ButAdd_Click" OnDelete="ButDel_Click" OnModify="ButMod_Click" OnLogin="OnLoginPress" runat="server" />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox></div>
</form>
</body>
</html>

在这个aspx页面的C#文件中,有这样一些事件
protected void OnLoginPress(Object Render, EventArgs e)
{
TextBox1.Text = UserLogin1.UserName;
TextBox2.Text = UserLogin1.PassWord;
}

protected void ButAdd_Click(object sender, EventArgs e)
{

//this.Response.Write(sender.GetType().ToString());
TextBox1.Text = "添加了数据!";
}
protected void ButDel_Click(object sender, EventArgs e)
{
TextBox1.Text = "我已删除";
//this.Response.Write("删除");
}
protected void ButMod_Click(object sender, EventArgs e)
{
TextBox1.Text = "修改了数据!";
//this.Response.Write("修改");
}

那么,在不同的aspx文档中,我就可以写不同的事件了;很简单吧;

这样,我们还可以在用户控件中判断当前登录用户的权限,例如,如果没有删除权限,删除按钮就不出现;

分享到:
评论

相关推荐

    ASP.NET的用户控件

    ASP.NET的用户控件 本文介绍如何在ASP.NET中创建用户控件,控件属性的动态修改以及控件的事件出发机制

    Asp.Net为用户控件添加属性和事件

    Asp.Net为用户控件添加属性和事件,网上搜集来的,希望对大家有用

    ASP.Net皮肤换肤控件

    分页是Web应用程序中最常用到的功能之一,在ASP.NET中,虽然自带了一个可以分页的DataGrid(asp.net 1.1)和GridView(asp.net 2.0)控件,但其分页功能并不尽如人意,如可定制性差、无法通过Url实现分页功能等,...

    Asp.net Treeview 控件常用属性.

    Asp.net Treeview 控件常用属性.

    asp.net教程 ASP.NET 参考手册

    在 W3School,我们提供完整的 ASP.NET 参考手册,其中包括内建对象和组件,以及它们的属性和方法。 ASP.NET 实例 ASP.NET 实例 一系列的 ASP.NET 实例。 内容目录 ASP.NET 简介 本章解释 ASP.NET 的概念。 ASP...

    ASP.NET 开发和使用Web用户控件

    在 ASP.NET 的开发中 Web 用户控件的开发和使用是一项必不可少的技术 1.简介 2.创建 Web 用户控件 3.在 Web 窗体中使用 Web 用户控件 4.添加属性 5.添加方法 6.添加自定义事件 7.控件内客户端角本访问服务器控件的...

    asp.net中GridView控件的各种操作方法,使用大全,附加数据库

    asp.net中GridView控件的各种操作方法,使用大全,附加数据库。包含:GridView导入导出,多层嵌套,表头表尾,分页排序,结合控件,设置属性,增除删改,主键索引...物超所值,亲情放送!~

    庖丁解牛:纵向切入ASP.NET 3.5控件和组件开发技术

    第1章 服务器控件概述及开发环境部署 .1 1.1 自定义服务器控件 1 1.2 服务器控件在软件开发过程中的作用 1 ...附录a .net 3.5技术教程系列——collection/asp.net ajax/ silverlight/jquery ...646

    ASP.NET 2.0 服务器控件C#

    ASP.NET 引入了服务器控件的概念,允许Web开发人员 在服务器端识别这些元素,并对它们进行控制。服务器控 件就是页面上能够被服务器端代码访问和操作的任何控 ... ASP.NET服务器控件都是页面上的对象,采用事件驱动

    FineUI ASP.NET 控件库

    基于 ExtJS 的专业 ASP.NET 控件库 每个控件的编写都尽量符合 ASP.NET 的开发习惯,从控件和属性的命名到复杂的 AJAX 交互,都让传统的 ASP.NET 开发人员感到很舒服

    Asp.net图表控件

    Chartlet是一个免费的ASP.NET使用的图表控件,它让你可以用最少的代码创造出非常漂亮的统计图表,我们的宗旨是让你的使用越简单越好,现在你只需要设置一个属性,绑定一个数据源 就可以轻松创建一个非常漂亮的图表!...

    ASP.NET之表单和控件详解

    action属性指明当前表单提交之后由哪个程序来处理,这个处理程序可以是任何动态网页或者servlet或者CGI(Common Gateway Interface),在asp.net里面一般都是都aspx页面来处理。 method属性指明form表单的提交方式。...

    ASP.net常用控件属性跟方法

    ListBox控件 功能:在Web页中创建列表框,并允许用户从列表中选择一项或多项。 属性: 1、Rows属性:表示所能显示的列表项的行数,如果列表项的数目大于Rows值,则会自动产生滚动条,以便选择更多的选项。 2、...

    苏鹏asp.net教程(控件使用)

    asp.net2.0的一些常用控件的使用和重要属性的设置

    ASP.NET控件的属性及常用方法整理

    把常用的.NET控件的属性及常用方法整理了下~希望对入门的人有用

    ASP.NET ajax每个控件的使用和属性

    ASP.NET ajax每个控件的使用和属性

    asp.net中TextBox获得焦点和失去焦点——客户端JavaScript事件

    asp.net中TextBox获得焦点和失去焦点——客户端JavaScript事件 自己亲手做的 ,虽然很简单,但是很实用

    UltraWebChart--服务器端-基于ASP.NET的图表控件

    提供了ASP.NET 基于会话的安全性,从而保证了显示的图表数据,使所有敏感图表非常安全。 强大的美学增强 图表不仅仅采用点阵表示,最重要的是数据的外观显示。为了轻松的显示您的图表,UltraWebChart提供了内置的...

    ASP.NET 控件的使用

    1.2 ASP.NET控件 10 1.2.1 ASP.NET控件概览 11 1.2.2 HTML控件 12 1.2.3 理解和处理控件事件 12 1.2.4 视图状态 17 1.3 ASP.NET页面 20 1.3.1 动态编译 20 1.3.2 控件树 23 1.3.3 使用代码隐藏页面 24 1.3.4 处理...

    asp.net验证码控件

    一、控件特点: 1、使用方便,只需要从工具栏直接拖到页面即可自动验证,零代码使用。 2、自动完成客户端以及服务器的验证码验证,Ajax验证,随用户输入即时 验证并友好提示。 3、可自定义验证码图片外观。 4、有...

Global site tag (gtag.js) - Google Analytics