我試圖建立一個模板控件。你會看到,作爲字段的一部分,我希望能夠將控件定義爲兒童。當我嘗試編譯時,我收到錯誤消息「MyTemplateControl.Field」沒有名爲'Button'「的公共屬性。有誰知道如何完成我想要做的事情?ASP.NET模板控制
下面您會看到一個XHTML標記示例,下面是我的控件實現。
我編輯了我的例子,希望澄清我在找什麼。謝謝大家的MSDN鏈接。我已經通過了這些。
我想要建立的是一個數據輸入控件,它會自動爲我設置一個表格。我們做了大量的數據錄入Web表單,並且希望能夠縮短實施時間。
<cc1:MyForm ID="MyForm1" runat="server">
<ViewTemplate>
<cc1:Field Question="What is your name?">
<asp:Label ID="myLabel" runat="server" />
</cc1:Field>
</ViewTemplate>
<EditTemplate>
<cc1:Field Question="What is your name?">
<asp:Textbox ID="myTextbox" runat="server" />
</cc1:Field>
</EditTemplate>
</cc1:MyForm>
public class MyForm : WebControl, INamingContainer
{
private FieldCollection _fieldCollection;
private FieldCollection _field2Collection;
public FieldCollection ViewTemplate
{
get
{
if (_fieldCollection == null)
{
_fieldCollection = new FieldCollection();
}
return _fieldCollection;
}
}
public FieldCollection EditTemplate
{
get
{
if (_field2Collection == null)
{
_field2Collection = new FieldCollection();
}
return _field2Collection;
}
}
}
public class FieldCollection : CollectionBase
{
.
.
.
}
[ParseChildren(false)]
public class Field
{
.
.
.
}
關閉,但我需要它更進一步延長。看到我編輯的問題。 – user62064 2009-08-17 14:41:31
......好吧。只需添加另一個屬性,如類型爲ITemplate的「內容」並繼續。它應該工作。你的東西與收集是不需要的。在一個模板中,你可以放任何你想要的,所以你可以忘記FieldCollection。否則,你想實現的不是一個模板,你必須去FieldCollection方式。這是兩件不同的事情。 – Juri 2009-08-17 15:52:12
這是否適用於WebApplicationProject? – Mahes 2011-01-05 20:33:03