代码之家  ›  专栏  ›  技术社区  ›  Tarik

从Web用户控件获取控件值

  •  0
  • Tarik  · 技术社区  · 14 年前

    假设我有三个 DropDownList Web用户控件中的控件,它们相互依赖。

    • 类别
    • 品牌
    • 产品

    说明: 在我从类别下拉列表中选择一个类别后,相关的品牌将加载到品牌中。 下拉框 当我选择特定的品牌,它们都位于Web用户控件中时,也会发生同样的情况,因为我在不同的页面上使用了太多,我不想在所有页面上复制和粘贴相同的代码。

    问题: 页面可以包含 GridView DataSource 需要额外 Where 获取所需的所有数据的参数,该参数可能取决于产品中的所选产品。 下拉框 控制。

    问题: 那我怎么能得到呢 从产品下拉列表中选择产品值 把它绑起来 SQLDataSource 或其他 数据来源 控制。

    我的想法是: 我相信我可以用以下方法来解决这个问题。

    • 我可以使用静态变量,一旦选择产品,它就会更新。该字段变量可以是公共的,这样每个人都可以访问它
    • Selected Products DropDownList可以为我创建一个QueryString字段来绘制所选值。
    • 同样,DropDownList可以动态创建会话变量,我可以获取该值。
    • 它可能会创建一个隐藏字段。

    但是: 好吧,这些是我的一些想法,但我发现它们太幼稚了。我需要优雅和满足的东西来解决这个问题。它应该类似于从Web用户控件到外部世界的网关。

    也许单独的类或属性可以在网关解决方案中帮助我。

    不管怎样,我在等你的回答。

    2 回复  |  直到 14 年前
        1
  •  2
  •   ulty4life    14 年前

    如果我正确理解这个问题:

    您可以向用户控件添加一个属性,该属性公开产品DDL选择的值。

    还可以从用户控件添加和引发一个事件,该事件在产品DDL选定值更改时激发。创建一个包含产品值的自定义事件参数,允许它直接传递给事件处理程序。

    然后,您的页面可以处理用户控件引发的事件,具有产品值,并绑定网格。

        2
  •  0
  •   jwheron    14 年前

    可以将DropDownList.SelectedIndexChanged事件绑定到同一函数,并测试每个DropDownList的SelectedValue属性。如果它们的selectedValues有效,则将网格绑定到数据源。

    我以前做过这样的工作,我需要用户在查询数据库之前输入一定数量的数据。如果DropDownList无效,我将在GridView上设置Hidden属性,并在正确绑定后重置该属性。

    推荐文章