asp.net服务器控件与组件开发(一)

1、ASP.NET中开发服务器控件有两种方法:自定义控件与web用户控件

本次来讲web用户控件

2、注意点如下:

(1)       创建web用户控件是一个扩展名为.ascx的文本文件,在文本文件顶部添加@Control指令,并通过Language指定开发语言。asp.net页面使用的是@Page指令。

(2)       向文本文件中添加html标记文本和asp.net服务器控件。可以添加除html、body、form之外的任何html标记。这是因为用户控件不能单独使用,必须作为Web页面的一部分使用。

下面是详细例子:开发一个登陆的自定义用户控件。Login.ascx

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="MyWebUserControl.ascx.cs" Inherits="MyWebUserControl" %>

<div style="300px;height:200px;border:1px solid #999;">

 <h3 style="margin-left:10px;"><asp:Label ID="lblTitle" runat="server" Text="欢迎登陆" ></asp:Label></h3>

 <div style="margin-left:20px;margin-bottom:10px;">用户名:<asp:TextBox ID="txtUserName" Width="100px" runat="server"></asp:TextBox></div>

 <div style="margin-left:20px;margin-bottom:10px;">密&nbsp;&nbsp;码:<asp:TextBox ID="txtPwd" Width="100px" runat="server"></asp:TextBox></div>

 <div style="margin-left:20px;margin-bottom:10px;">性&nbsp;&nbsp;别:<asp:DropDownList ID="ddlSex" Width="100px" runat="server">

 <asp:ListItem Selected="True"  Value="男" Text="男"></asp:ListItem>

 <asp:ListItem Value="女" Text="女"></asp:ListItem>

 </asp:DropDownList></div>

 <div style="margin-left:20px;margin-bottom:10px;"><asp:Button ID="btnLogin" runat="server" Text="登陆" Width="80px" />&nbsp;&nbsp;<asp:Button ID="btnReset" runat="server" Text="取消登陆" Width="80px" /></div>

</div>

3、使用用户控件

必须在使用用户控件的页面先注册,使用@Register 注册用户控件,然后设置该指令的TagPrefix、TagName和Src属性。TagPrefix表示标记前缀名,TagName表示标记名,Src为用户控件的路径。

使用代码如下:

<%@ Register TagPrefix="user" TagName="Login" Src="~/MyWebUserControl.ascx" %>

<user:Login ID="login" runat="server" />

4、设置用户控件的属性

在Login.ascx文本中添加如下代码

<script runat="server">

    //设置登陆头部显示文字属性

    public string LoginTitle

    {

        get { return lblTitle.Text; }

        set { lblTitle.Text = value; }

    }

    //设置用户名默认值

    public string UserName

    {

        get { return txtUserName.Text; }

        set { txtUserName.Text = value; }

    }

      //设置传入的Url地址

    private string url;

    public  string Url

    {

        get { return url; }

        set { url = value; }

    }

</script>

5、添加方法

<script runat="server">

  //添加方法

    //取消登陆方法

    public void ResetLogin(object sender,EventArgs e)

    {

        txtUserName.Text = "";

        txtPwd.Text = "";

        return;

    }

   

    //登陆并跳转到指定页面,传递用户名和密码

    public void Login(object sender,EventArgs e)

    {

         //验证用户名和密码是否为空

        if (txtUserName.Text == "" || txtPwd.Text == "")

        {

            Page.RegisterStartupScript("ss", "用户名或者密码为空,请输入完全");

            return;

        }

        else

        {

            Response.Redirect(url+"?user="+txtUserName.Text+"&&pwd="+txtPwd.Text);

        }

    }

</script>

使用页面

   <user:Login ID="login" runat="server" LoginTitle="欢迎登陆怀化学院教务系统" UserName="luoxinhua" Url="TestLogin.aspx" />

原文地址:https://www.cnblogs.com/luodao1991/p/3100418.html