【问题标题】:Detecting client-side DOM changes server-side in ASP.NET: Is It Possible?在 ASP.NET 中检测客户端 DOM 更改服务器端:可能吗?
【发布时间】:2023-04-03 01:21:01
【问题描述】:

我正在开发一个自定义控件以从预定义列表中选择项目。这是通过 2 个 ASP.NET ListBox 控件实现的,其中有几个按钮可以触发 ListItem 从一个 ListBox 移动到另一个(我们将这些 ListBox 称为 lstSelected 和 lstDeselected)。

这很容易在 ASP.NET 或 JavaScript 中独立完成:我都在工作。但是,如果通过 JavaScript 进行修改,则 ASP.NET 对此一无所知。有没有办法在没有 AJAX 的情况下在选择标签中注册选项的创建?

【问题讨论】:

    标签: asp.net javascript client-server


    【解决方案1】:

    您也可以使用传统的回发来执行此操作,它不必是 ajax。回发将通过单击您的按钮来触发,这些按钮会更改哪些项目在哪些列表框中。

    【讨论】:

      【解决方案2】:

      您可以有几个隐藏字段,例如 hdnHasSelectedChangedhdnHasDeselectedChanged,并在您的 javascript 代码中设置这些字段。然后,当真正发生回发时,您的代码隐藏可以读取这些隐藏字段以检测是否发生了更改。

      【讨论】:

      • 我尝试通过回发并假设已进行更改来模拟此情况,但并未成功。我认为修改现有元素,而不是创建新元素,将是 ASP.NET 识别的关键。我正在考虑的一种方法是将控件视为特殊呈现的 CheckboxList,每个 ListBox 都完全填充了所有选项,并将所选项目隐藏在 ListBox 中以用于取消选择的项目,并将取消选择的项目隐藏在 ListBox 中以用于选定项目。
      猜你喜欢
      • 2011-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多