這篇文章主要介紹了把某個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> 前端代碼: 代碼如下: <form id="form1" runat="server"> <div> <asp:Label ID="lb1" runat="server" Text="lb"></asp:Label> </div> </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節點中加入 代碼如下: <tagMapping> <add tagType="System.Web.UI.WebControls.Label" mappedTagType="CJQ.Web.MyLabel" /> </tagMapping> 其中自定義控件的代碼是 代碼如下: namespace CJQ.Web { public class MyLabel : System.Web.UI.WebControls.Label { protected override void RenderContents(System.Web.UI.HtmlTextWriter writer) { writer.Write("接收:"); base.RenderContents(writer); } } } 其生成的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>