·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> 把某个asp.net 控件 替换成 自定义的控件

把某个asp.net 控件 替换成 自定义的控件

作者:佚名      ASP.NET网站开发编辑:admin      更新时间:2022-07-23

把某个asp.net 控件 替换成 自定义的控件

功能:可以把某个asp.net 控件 替换成 自定义的控件

pages 的 tagMapping 元素(ASP.NET 设置架构)

定义一个标记类型的集合,这些标记类型在编译时重新映射为其他标记类型。

此元素是 .NET Framework 2.0 版中的新元素。

<pages>      <tagMapping>         <add            tagType=               "System.Web.UI.WebControls.WebParts.WebPartManager"            mappedTagType=               "Microsoft.Sharepoint.WebPartPartManager,                 MSPS.Web.dll, Version='2.0.0.0'"          />      </tagMapping></pages>   

前端代码:

1 <form id="form1" runat="server">2     <div>3         <asp:Label ID="lb1" runat="server" Text="lb"></asp:Label>4     </div>5 </form>

其生成的HTML如下:

<form name="form1" method="post" action="Default.aspx" id="form1"><div><input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTE1ODYxMzExNjlkZIRGtA8oGwNrNQd7V9ZkX3zxcLan" /></div>    <div>        <span id="lb1">lb</span>    </div></form>

在配置文件的pages节点中加入

1 <tagMapping>2         <add tagType="System.Web.UI.WebControls.Label" mappedTagType="CJQ.Web.MyLabel" />3       </tagMapping>

其中自定义控件的代码是

 1 namespace CJQ.Web 2 { 3     public class MyLabel : System.Web.UI.WebControls.Label 4     { 5         PRotected override void RenderContents(System.Web.UI.HtmlTextWriter writer) 6         { 7             writer.Write("接收:"); 8             base.RenderContents(writer); 9         }10        11     }12 }

其生成的HTML如下:

1 <form name="form1" method="post" action="Default.aspx" id="form1">2 <div>3 <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTE1ODYxMzExNjlkZIRGtA8oGwNrNQd7V9ZkX3zxcLan" />4 </div>5 6     <div>7         <span id="lb1">接收:lb</span>8     </div>9     </form>

可以看到asp.net 控件已被 自定义控件替换掉了