功能:可以把某个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 控件已被 自定义控件替换掉了