Asp.net 自定义*任意*模板字段定义

Asp.net 自定义*任意*模板字段定义,asp.net,user-controls,declarative,templatefield,Asp.net,User Controls,Declarative,Templatefield,我正在动态构建一个GridView,我想预先定义要包含在命令中的TemplateFields。所以,我想做的是有一个声明性文件,它定义了不同模板对于特定列的外观。比如: <asp:TemplateField> <HeaderTemplate> this is a text column </HeaderTemplate> <ItemTemplate> d

我正在动态构建一个GridView,我想预先定义要包含在命令中的TemplateFields。所以,我想做的是有一个声明性文件,它定义了不同模板对于特定列的外观。比如:

<asp:TemplateField>
        <HeaderTemplate>
            this is a text column
        </HeaderTemplate>
        <ItemTemplate>
            data goes here
        </ItemTemplate>
        <EditItemTemplate>
            <asp:TextBox Text="databindhere" />
        </EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
        <HeaderTemplate>
            this is a bool column
        </HeaderTemplate>
        <ItemTemplate>
            if(true) "yes" else "no"
        </ItemTemplate>
        <EditItemTemplate>
            <asp:CheckBox Checked="databindme" />
        </EditItemTemplate>
</asp:TemplateField>

这是一个文本列
数据在这里
这是一个布尔专栏
如果(真)为“是”,否则为“否”
因此,如果我的查询有一个文本和两个bool字段,我可以根据需要在Columns属性中推送相应的TemplateFields。(我希望我在这里讲得有道理)

那么,我将如何为上述定义创建声明性文件呢?然后,我将如何以编程方式引用这些定义


好的,最好的方法是将System.Web.UI.WebControls.TemplateField子类化,但当我这样做时,我似乎无法将对象与指令一起使用。如果可以的话,我会用新的派生工具创建一些UserControls,然后加载control()并根据需要将它们添加到网格的列中

有什么想法吗