【问题标题】:Cascading dropDownLists in repeater. DropDownLists with SQL source and add/delete option中继器中的级联下拉列表。带有 SQL 源和添加/删除选项的 DropDownLists
【发布时间】:2013-01-24 12:38:50
【问题描述】:

在 ASP.NET 中实现以下接口的技巧是什么?

我认为截图应该能解释一切。

  1. 两个 dropDownLists 都适用于 SQL 表。 [Categories],[Items] 绑定 ID_category PK/FK
  2. 行数可变(默认为 1 行,带有“添加”按钮)
  3. 选择类别只会更改其旁边的 dropDownList 的内容,而在添加/删除其他行时内容保持不变
  4. “添加”按钮保存当前设置并添加带有“选择值”或最终选择第一个类别/第一个项目的新行

如何在网站上添加、更改、删​​除项目或其他一些 PostBack 时存储先前选择的类别/项目和按类别过滤的下拉菜单?


到目前为止,我尝试过将 Repeater 与 DataSet 一起使用,但是我遇到了几个不同的问题:

  • 无法保留以前的下拉菜单之间的关系
  • DropDowns 相互重置
  • 第二个下拉菜单在添加新行时丢失过滤

我可以发布一些代码,但由于它不能完全工作,也许完全不同的方法会更好。基本上我从this 教程开始。中继器当前看起来像:

<repeater>
<itemtemplate>
  <dropDown DataSource="categoriesDS" 
     value='<%# DataBinder.Eval(Container.DataItem, "Category") %>'.../>
  <dropDown DataSource="itemsDS" 
     value='<%# DataBinder.Eval(Container.DataItem, "Item") %>'.../>
  <button CommandName='<%# DataBinder.Eval(Container.DataItem, "Button") %>' 
     Text='<%# DataBinder.Eval(Container.DataItem, "Button") %>' .../>
</itemtemplate>
</repeater>

提前感谢您提供任何建议或解决方案,希望对其他人有所帮助。

【问题讨论】:

  • 它们都必须是分层的吗?
  • 成对。类别 > 项目,类别 > 项目。
  • 我假设您正在某处保存或保存当前下拉值?您是否尝试过使用中继器的 OnItemDataBound 方法来设置下拉菜单的 SelectedValue?
  • 我记得,它导致了错误。这是一个老问题,我走了不同的路,但我仍然想知道如何实现这一目标。也许不只是我。

标签: c# asp.net drop-down-menu repeater sqldatasource


【解决方案1】:

Ajax Cascading DropDownlist

使用起来非常简单。

【讨论】:

  • 拥有例如 4 个这样的下拉对,如果我删除第 2 个,它会保留第 3 组和第 4 组的选定值吗?对我的意思是类别和项目。编写级联下拉列表很容易,但处理动态添加和删除这些是问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-24
相关资源
最近更新 更多