同一个用户控件如何呈现不同的输出?

时间:2016-01-29 16:57:28

标签: asp.net web-applications webforms user-controls

确定。开始了。我不确定这里有没有人实现过这个,但是我的Webforms应用程序中有一个用户控件,我在几种形式上调用它。

此用户控件有一个下拉列表,用于调用存储过程并根据特定日期过滤下拉列表。但是,在其中一个表单上,我希望相同的用户控件仍然可以调用存储过程但根本不进行过滤,只需获取所有记录。

基本上,我希望相同的用户控件在一个表单上执行一个操作而在另一个表单上执行另一个操作。我想使用相同的用户控件,因为只有很小的变化。休息是一样的,因此我想避免创建另一种形式。

这可能吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

最简单的方法是在用户控件上创建一个属性:

public bool SOmeCOnfigurableSetting
{
  get { return ((bool?)ViewState[".."]).GetValueOrDefault(false); }
  set { ViewState[".."] = value; }
}

它可以是任何类型,而不仅仅是bool。在每个页面中,在用户控件定义上设置属性,这将控制过滤或其他功能。