欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

創(chuàng)建模板化的ASP.NET 用戶控件 - 新聞資訊 - 云南小程序開發(fā)|云南軟件開發(fā)|云南網(wǎng)站建設-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設/小程序開發(fā)/軟件開發(fā)

知識

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!

您當前位置>首頁 » 新聞資訊 » 技術分享 >

創(chuàng)建模板化的ASP.NET 用戶控件

發(fā)表時間:2020-10-18

發(fā)布人:葵宇科技

瀏覽次數(shù):82

 å¯ä»¥å‰µ(chuàng)建實現(xiàn)模板的用戶控件,這是 ASP.NET 的一項功能,它允許將控件數(shù)據(jù)與其表示形式相分離。模板化控件不提供用戶界面。編寫它則是為了實現(xiàn)一個命名容器以及包含屬性和方法可由宿主頁訪問的類。

 
用戶控件的用戶界面由頁面開發(fā)人員在設計時提供。開發(fā)人員創(chuàng)建由用戶控件定義的類型模板,然后可以向模板添加控件和標記。
創(chuàng)建模板用戶控件在 .ascx 文件中,添加要在其中顯示模板的 ASP.NET PlaceHolder 控件。
在用戶控件的代碼中,實現(xiàn) ITemplate 類型的屬性。
將實現(xiàn) INamingContainer 接口的服務器控件類定義為要在其中創(chuàng)建模板實例的容器。此容器叫做模板的命名容器。
注意
此控件實質上成了用戶控件的嵌套類,但這不是必需的。
將 TemplateContainerAttribute 應用于實現(xiàn) ITemplate 的屬性 (property),并將模板命名容器的類型作為參數(shù)傳遞給屬性 (attribute) 的構造函數(shù)。
在控件的 Init 方法中,將以下步驟重復一次或多次:
創(chuàng)建命名容器類的一個實例。
在命名容器中創(chuàng)建該模板的一個實例。
將命名容器實例添加到 PlaceHolder 服務器控件的 Controls 屬性。
注意
從使用用戶控件的頁面的角度來看,模板化用戶控件的語法與自定義模板化控件的語法相同。
示例
下面的示例演示一個模板化用戶控件和一個包含該控件的頁面。該用戶控件創(chuàng)建一個可在宿主頁上聲明為 <MessageTemplate> 的模板。該模板控件還公開兩個可由宿主頁在模板內(nèi)訪問的屬性:Index 和 Message。
第一個示例顯示模板化用戶控件。第二個示例顯示包含該用戶控件的頁面。
<%@ Control language="C#" ClassName="TemplatedUC" %>
<script runat=server>
private ITemplate messageTemplate = null;
[ TemplateContainer(typeof(MessageContainer)) ]
public ITemplate MessageTemplate {
get
{ www.yzjxsp.com
return messageTemplate;
}
set
{
messageTemplate = value;
}
}
void Page_Init() {
if (messageTemplate != null) {
String[] fruits = {"apple", "orange", "banana", "pineapple" };
for (int i=0; i<4; i++)
{
MessageContainer container = new MessageContainer(i, fruits[i]);
messageTemplate.InstantiateIn(container);
PlaceHolder1.Controls.Add(container);
}
}
}
public class MessageContainer: Control, INamingContainer {
private int m_index;
private String m_message;
internal MessageContainer(int index, String message)
{
m_index = index;
m_message = message;
}
public int Index {
get
{
return m_index;
}
}
public String Message
{
get
{
return m_message;
}
}
}
</script>
<asp:placeholder runat=server id="PlaceHolder1" />
<%@ Page Language="C#" %>
<%@ Register TagPrefix="uc" tagname="TemplateTest"
Src="TemplatedUC.ascx" %>
<html>
<script runat=server>
protected void Page_Load()
{ www.yzjjx.com
DataBind();
}
</script>
<head>
<title>Templated User Control Test</title>
</head>
<body>
<h1>Testing Templated User Control</h1>
<form id="Form1" runat=server>
<uc:TemplateTest runat=server>
<MessageTemplate>
Index: <asp:Label runat="server" ID="Label1"
Text='<%# Container.Index %>' />
<br />
Message: <asp:Label runat="server" ID="Label2"
Text='<%# Container.Message %>' />
<hr />
</MessageTemplate>
</uc:TemplateTest>
</form>
</body>
</html>
if ($ != jQuery) { $ = jQuery.noConflict(); } var isLogined = false; var cb_blogId = 56011; var cb_entryId = 1952929; var cb_blogApp = "haosola"; var cb_blogUserGuid = "28d7057a-c53a-de11-9510-001cf0cd104b"; var cb_entryCreatedDate = '2011/2/13 1:09:00';
 
昆明軟件開發(fā)公司中的佼佼者,致力定制軟件開發(fā),昆明軟件開發(fā)請聯(lián)系昆明葵宇科技有限公司,電話:15987118523。

相關案例查看更多

相關閱讀