当写好一个自定义控件,在页面上注册好后再页面上添加一个试试,能正常看到效果,然而当执行这个页面的时候报错,未知的服务器标记,在网上查了查,原来还得在web.config中加上一段话
自定义控件
代码
namespace
PureTest
{
[ToolboxData( " <{0}:Pager runat=server></{0}:Pager> " )]
public class Pager:Control
{
public int CurrentPage
{
get ; set ;
}
public int PageSize
{
get ; set ;
}
public int TotalCount
{
get ; set ;
}
// hack:这里应该把分页时的URL条件带上
protected override void Render(HtmlTextWriter writer)
{
base .Render(writer);
// var first = CurrentPage - 5;
// var end = CurrentPage + 5;
// var totalPage = GetPageCount();
// if (first < 1)
// {
// first = 1;
// }
// if (end > totalPage)
// {
// end = totalPage;
// }
// var sb = new StringBuilder();
// sb.Append("<div id='pager'>");
// for(var i=first;i<end;i++)
// {
// if(i==CurrentPage)
// {
// sb.AppendFormat("<strong>{0}</strong>", i);
// }
// else
// {
// sb.AppendFormat("<a href='{0}.html'>{0}</a>", i);
// }
// }
// sb.Append("</div>");
// writer.Write(sb.ToString());
writer.Write( " my first control " );
}
private int GetPageCount()
{
return PageSize == 0 ? 0 : (TotalCount + PageSize - 1 ) / PageSize;
}
}
}
{
[ToolboxData( " <{0}:Pager runat=server></{0}:Pager> " )]
public class Pager:Control
{
public int CurrentPage
{
get ; set ;
}
public int PageSize
{
get ; set ;
}
public int TotalCount
{
get ; set ;
}
// hack:这里应该把分页时的URL条件带上
protected override void Render(HtmlTextWriter writer)
{
base .Render(writer);
// var first = CurrentPage - 5;
// var end = CurrentPage + 5;
// var totalPage = GetPageCount();
// if (first < 1)
// {
// first = 1;
// }
// if (end > totalPage)
// {
// end = totalPage;
// }
// var sb = new StringBuilder();
// sb.Append("<div id='pager'>");
// for(var i=first;i<end;i++)
// {
// if(i==CurrentPage)
// {
// sb.AppendFormat("<strong>{0}</strong>", i);
// }
// else
// {
// sb.AppendFormat("<a href='{0}.html'>{0}</a>", i);
// }
// }
// sb.Append("</div>");
// writer.Write(sb.ToString());
writer.Write( " my first control " );
}
private int GetPageCount()
{
return PageSize == 0 ? 0 : (TotalCount + PageSize - 1 ) / PageSize;
}
}
}
页面
代码
<%
@ Page Language
=
"
C#
"
AutoEventWireup
=
"
true
"
CodeBehind
=
"
Default.aspx.cs
"
Inherits
=
"
PureTest._Default
"
%>
<% @ Register TagPrefix = " MC " Namespace = " PureTest " %>
<! 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 id ="form1" runat ="server" >
< div >
< div style ='height:30px;' ></ div >
< MC:Pager runat ="server" ></ MC:Pager >
</ div >
</ form >
</ body >
</ html >
<% @ Register TagPrefix = " MC " Namespace = " PureTest " %>
<! 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 id ="form1" runat ="server" >
< div >
< div style ='height:30px;' ></ div >
< MC:Pager runat ="server" ></ MC:Pager >
</ div >
</ form >
</ body >
</ html >
web.config
代码
<
pages
>
< controls >
< add tagPrefix ="asp" namespace ="System.Web.UI" assembly ="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
< add tagPrefix ="asp" namespace ="System.Web.UI.WebControls" assembly ="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
< add tagPrefix ="MC" namespace ="PureTest" assembly ="PureTest" />
</ controls >
</ pages >
< controls >
< add tagPrefix ="asp" namespace ="System.Web.UI" assembly ="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
< add tagPrefix ="asp" namespace ="System.Web.UI.WebControls" assembly ="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
< add tagPrefix ="MC" namespace ="PureTest" assembly ="PureTest" />
</ controls >
</ pages >
参考链接:
http://blog.sina.com.cn/s/blog_55e42da60100i1t6.html
http://forums.asp.net/t/1337638.aspx