首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Itemplate属性不能用作特性

Itemplate属性不能用作特性
EN

Stack Overflow用户
提问于 2010-09-11 03:30:06
回答 1查看 1.1K关注 0票数 0

我已经向Telerik的RadGrid控件添加了一个名为SearchMenuTemplate ala的ITemplate:

代码语言:javascript
复制
    public class AbsRadGrid : RadGrid
{

    private ITemplate _ItemTemplate;
    [PersistenceMode(PersistenceMode.InnerProperty)]
    [TemplateContainer(typeof(searchBar))]
    public ITemplate SearchMenuTemplate
    {
        get { return _ItemTemplate; }// get
        set { _ItemTemplate = value; }// set
    }
}

模板类看起来像这样(为了简洁起见,像createchildcontrol这样的强制覆盖方法被省略了):

代码语言:javascript
复制
[ParseChildren(true)]
class searchBar : CompositeControl, INamingContainer
{
    public string rbStartsWithText { get; set; }
}

现在,在源代码管理窗口中,RadGrid控件将看到该模板。但是rbStartsWithText不是节点上的属性。

我希望看到类似这样的内容(注意: abs前缀注册在标记中):

代码语言:javascript
复制
    <abs:AbsRadGrid ID="rg" runat="server">
    <SearchMenuTemplate rbStartsWithText="Starts With" />
</abs:AbsRadGrid>

相反,rbStartsWithText抛出了一个绿色的曲折,并告诉我这不是SearchMenuTemplate的有效属性。

EN

回答 1

Stack Overflow用户

发布于 2011-03-04 21:21:46

您的SearchMenuTemplate属性是一个没有公共属性的ITemplate类型,因此IntelliSense不能为您的<SearchMenuTemplate>标记提供任何属性。

为了能够添加自定义属性,您应该实现ITemplate接口(InstantiateIn方法)并在其中添加所需的属性:

代码语言:javascript
复制
public class YourCustomTemplate : ITemplate
{
    public string rbStartsWithText { get; set; }

    public void InstantiateIn(Control container)
    {
        HtmlGenericControl div = new HtmlGenericControl("div");
        div.InnerText = rbStartsWithText;
        container.Controls.Add(div);
    }
}

然后你可以使用它作为你的自定义网格:

代码语言:javascript
复制
public class AbsRadGrid : RadGrid
{
    [PersistenceMode(PersistenceMode.InnerProperty)]
    public YourCustomTemplate  SearchMenuTemplate { get; set; }
}

最后:

代码语言:javascript
复制
<abs:AbsRadGrid ID="rg" runat="server">
    <SearchMenuTemplate rbStartsWithText="Starts With" />
</abs:AbsRadGrid>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3687717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档