我找到了用于asp.net向导控件的控件适配器。我想在我的网站上使用它。但是我已经有一些使用向导控件的页面了。我不希望这些页面使用新的适配器。有可能吗?
发布于 2009-04-10 14:22:53
我没有直接使用过适配器,但是通过阅读文档,看起来您可以将向导控件的子类化到您自己的版本中-比如"AdaptedWizard“。你不需要对基本代码做任何重写,除非它能解决你遇到的其他问题。
在那里,您似乎可以修改.browser文件以引用您的AdaptedWizard类,而不是默认的向导类。然后,您站点上的所有新向导都将从AdaptedWizard而不是向导中进行分类。
祝好运!
内特
发布于 2009-07-28 23:26:17
如果您有权访问源代码,则可以编辑控件适配器,以便在调整控件的输出之前首先检查自定义属性是否存在以及是否具有正确的值。您应该在呈现之前删除自定义属性,否则它将呈现为html。
我已经在许多控件适配器上使用过它,它工作得很好,并给出了一个内联的指示,哪些控件是适应的。它还消除了创建扩展类的需要。
下面的代码是我如何确定控件是否应该适配的。
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);
}
}https://stackoverflow.com/questions/663905
复制相似问题