ASP.NET中用户控件的使用

一:在项目中添加用户控件是很简单的,在项目中点击右键---添加新项,然后选择用户控件接口

当然这里也没有什么特别要添加的东西。

二:制作好用户控件后该如何在页面中使用呢,看MSDN说的那几个属性云里雾里的

如果要在某个网页中使用自定义的控件,首先要在该页面添加register命名

<%@ Register TagPrefix="ShopControls1" TagName="head" Src="~/userControls/head.ascx"%>

上面这行就是要在你要添加用户控件的页面里,要添加的命令。

那其中的三个属性是什么意思那?首先看下MSDN里面的解释

在包含 ASP.NET 网页中,创建一个 @ Register 指令,在其中包括:

一个 TagPrefix 属性,该属性将前缀与用户控件相关联。此前缀将包括在用户控件元素的开始标记中。

一个 TagName 属性,该属性将名称与用户控件相关联。此名称将包括在用户控件元素的开始标记中。

一个 Src 属性,该属性定义包括的用户控件文件的虚拟路径。

本人感觉简直就跟没说一个鸟样,对于初学者来说根本看不懂,都不知道但是编Help的这些鸟人是怎么想出来的,拿例子来对照说一下简单明了,理解起来也不用这么费劲。

看下面黄线的代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<%@ Register TagPrefix="ShopControls1" TagName="head" Src="~/userControls/head.ascx"%>

<!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>

<form >

<table >

<tr>

<td colspan="2">

<table >

<tr>

<td >

<ShopControls1:head runat="server"/>

</td>

</tr>

</table>

</td>

</tr>

</table>

</form>

</body>

</html>

TagPrefix和TagName属性的名字可以随笔起了,自己看着来。那MSDN里面说的什么“此前缀将包括在用户控件元素的开始标记中”就是值,当你注册完这个用户控件,然后生成一个解决方案,当你要在页面中用这个控件的时候,是这样的<TagPrefix:TagName/>看到没是这种格式的,这就是好所谓的“此前缀将包括在用户控件元素的开始标记中。”和“此名称将包括在用户控件元素的开始标记中。”