0

我正在使用 ASP.Net 动态数据、Visual Studio 2010 和 C#。

我有三个自定义控件 (FieldTemplates),扩展名为 .ascx: business_type.ascx, department.ascx,section.ascx

如果我从第一个组合框中选择 cod_business type where = 6 我只想显示 cod_business = 6 的那些部门

假设我有 500 个部门,但只有 5、128 和 446 个部门完成了该规则。

假设我有 2,500 个部分,其中:

  1. 40、66 和 222 的 cod_dept = 5 和 cod_business = 6
  2. 346、399、400、403 和 458 的 cod_dept = 128 和 cod_business = 6
  3. 14、45、333 a、d 335 的 cod_dept = 446 和 cod_business = 6

我还想在第三个组合框中仅显示 cod_business = 6 和 cod_dept = 5 或 128 或 446 的部分,这取决于我从部门组合框中选择了哪一个

请记住:这必须适用于 ASP.Net 4.0 动态数据

这是可以实现的吗?

我看过 Steve Naughton 的级联解决方案,但它们是面向数据库的。

我需要“以更内在的形式连接”下拉列表,这意味着我没有用于填充每个下拉列表的实体,而是每个下拉列表中包含的值列表本身。我通常从小型 Excel 电子表格或小型文本文件中提供这些值。

此致。

4

1 回答 1

0

您最初是如何填充下拉列表的值的?它们是数据绑定控件吗?

无论如何,您将需要一种在回发时与这 3 个控件进行交互的方法,以实现您的过滤。一种方法是将 DropDownList 作为用户控件上的属性公开。在您后面的代码中,您将添加一个类似于此的属性:

public DrowDownList List {
get { return this.DropDownInsideTheControl; }
set { this.DropDownInsideTheControl = value; } }

为事件添加适当的事件处理程序OnSelectedIndexChanged并设置AutoPostBacktrue,您应该一切顺利。然后页面包含您可以管理所需过滤的所有控件。

这种方法可行,但我认为将 3 个下拉菜单分成单独的用户控件会使您的生活更加困难。这 3 个控件都密切相关,将它们都包含在同一个用户控件中可能是有意义的。通过这种方式,您可以更直接地与他们互动并更轻松地管理他们的关联关系。Page如上所述,您仍然可以将列表公开给正在运行的控件。

于 2011-01-29T17:55:41.520 回答