功能:可以把某個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>