首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何仅在特定页面上使用css控件适配器

如何仅在特定页面上使用css控件适配器
EN

Stack Overflow用户
提问于 2009-03-19 20:24:05
回答 2查看 467关注 0票数 0

我找到了用于asp.net向导控件的控件适配器。我想在我的网站上使用它。但是我已经有一些使用向导控件的页面了。我不希望这些页面使用新的适配器。有可能吗?

EN

回答 2

Stack Overflow用户

发布于 2009-04-10 14:22:53

我没有直接使用过适配器,但是通过阅读文档,看起来您可以将向导控件的子类化到您自己的版本中-比如"AdaptedWizard“。你不需要对基本代码做任何重写,除非它能解决你遇到的其他问题。

在那里,您似乎可以修改.browser文件以引用您的AdaptedWizard类,而不是默认的向导类。然后,您站点上的所有新向导都将从AdaptedWizard而不是向导中进行分类。

祝好运!

内特

票数 1
EN

Stack Overflow用户

发布于 2009-07-28 23:26:17

如果您有权访问源代码,则可以编辑控件适配器,以便在调整控件的输出之前首先检查自定义属性是否存在以及是否具有正确的值。您应该在呈现之前删除自定义属性,否则它将呈现为html。

我已经在许多控件适配器上使用过它,它工作得很好,并给出了一个内联的指示,哪些控件是适应的。它还消除了创建扩展类的需要。

下面的代码是我如何确定控件是否应该适配的。

代码语言:javascript
复制
public class TestAdapter : WebControlAdapter
{
    bool _adapt = false;

    protected override void OnInit(EventArgs e)
    {
        Check();
        base.OnInit(e);
    }


    void Check()
    {
        // search for custom attribute
        const string att = "adapt";
        string value = this.Control.Attributes[att];

        if (string.IsNullOrEmpty(value))
        {
            return;
        }

        if (!bool.TryParse(value, out _adapt))
        {
            throw new InvalidOperationException("adapt attribute has invalid value : " + value);
        }

        this.Control.Attributes.Remove(att);
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/663905

复制
相关文章

相似问题

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