【发布时间】:2009-07-17 05:21:57
【问题描述】:
我有一个 Web 用户控件,它调用接口的一些方法。四个不同的类使用这个接口。
public interface IMultiTextProvider
{
bool Insert(string text, Guid campaignId);
IEnumerable<IMultiTextItem> GetItems(Guid campaignId);
}
在初始化或加载中,我正在设置这样的控件(其中 wuc* 是控件 ID,Provider 是实现接口的类的属性):
private void SetMulitTextClassTypes()
{
wucMultiTextHandsetOrPlan.Provider = new HandsetOrPlanProvider();
wucMultiTextCallToAction.Provider = new CallToActionProvider();
wucMultiTextBonuses.Provider = new BonusProvider();
wucMultiTextRequirements.Provider = new RequirementProvider();
}
问题是,我可以在控件中以声明方式执行此操作吗?
我正在尝试使用对象数据源,但属性实例化太晚了。
<CSControl:MultiTextUpdate ID="wucMultiTextBonuses" ControlTitle="Bonuses" runat="server" Provider="what goes here???" CampaignId="<%# CampaignId %>" />
在编写一个控件以在界面中运行函数时,是否有更好的模型可以使用? 也许我需要 ProviderType 而不是 Provider 以及调用新实例的方法...?
【问题讨论】:
标签: c# asp.net user-controls interface