【问题标题】:dialogue between two user control based on user events基于用户事件的两个用户控件之间的对话
【发布时间】:2011-01-04 01:45:07
【问题描述】:

在一个 ASP.NET 页面中,我添加了两个用户控件,每个控件都有一个下拉列表。下拉列表的选择应将查询更改为第二个用户控件。

将下拉列表的选定值传递给第二个最有效的方法是什么?

我最初想到创建一个公共事件(公共字符串OnClientSelectedIndexChanged)同时第一个用户控件通过公共字符串SelectedValue外包第二个用户控件的选定值:

public string SelectedValue
{
  get
  {
    rcg.SelectedValue return;
  }
  set
  {
    rcg.SelectedValue = value;
  }
}

rcg 是下拉列表。

可以改正或有替代方案吗?

提前致谢

【问题讨论】:

    标签: asp.net user-controls


    【解决方案1】:

    替代方案可能是使用 AJAX。 用一个 ASP 更新面板包围这两个下拉列表,并用第一个下拉列表“OnSelectedIndexChanged”触发这个。在事件的代码中,您可以绑定您的第二个下拉列表..

    这样,不必为每个第一个下拉列表更改重新加载整个页面..

    【讨论】:

      【解决方案2】:

      是的,你在正确的轨道上。

      1:您公开了来自 UC1 的事件(例如 uc1ddlchanged)和来自 UC2 的属性(例如 uc1ddlSelectedValue)。

      2:在 UC1 的 ddl1 的 OnSelectedIndexChanged 中,您会引发事件 uc1ddlchanged。

      3:在具有 UC1 和 UC2 的页面上,您处理此事件并设置 UC2.uc1ddlSelectedValue = UC1.SelectedValue

      4:在 UC2 -> uc1ddlSelectedValue -> set{} 中,您可以设置值并重新绑定您的 ddl,或执行更新 UC2 所需的任何其他操作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-04
        • 2018-05-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多