c# - 限制 ASP.net 下拉菜单

标签 c# asp.net

我必须在 ASP.NET 中限制某些下拉框的内容。

页面上有 6 个下拉菜单,下拉菜单项从数据库中获取。

在数据库中,下拉表是这样的:

ID    Text
1     This is some text
2     Some more text
3     Even more text
4     This is just silly now

因此对于网页上的每个文本框 - 我只想显示特定的数据库表行。

例如,对于 dropdownbox1,我可能想要显示表 ID 1 和 2。 对于 dropdownbox2,我可能想显示表 ID 2 和 3。
对于 dropdownbox3,我可能只想显示第 4 行。

因此,如果不在 LINQ 中对此进行硬编码,我是否会更好地为每个下拉框创建另一个表,以及我想显示哪些 ID? 我不确定最好的方法是什么?

最佳答案

我认为打开一张新 table 对于这样一个简单的任务来说需要付出太多的努力。当然,这取决于您的开发/设计风格,但我建议在您当前的表格中添加一个新列,并在其中包含下拉列表 ID。

解决方案一:

ID    Text                       Dropdowns
1     This is some text          -DD1-DD2-
2     Some more text             -DD2-DD3-
3     Even more text             -DD3-
4     This is just silly now     -DD4-

您可以通过稍微更改代码来填充下拉菜单。我使用分隔符的原因是为了处理诸如在文本 DD10 中查找 DD1 成功的情况。

您必须使用 -DropdownID-(或您选择使用相同格式的任何分隔符)进行字符串包含搜索。编辑该列中的值,假设 - 是分隔符:

  • - 指定为数据库端列的默认值,如果列为空,则保留 -
  • 添加新的下拉 ID,首先查找包含您的 ID,然后将 DropdownID- 连接到列值。
  • 删除下拉列表 ID,只需将 DropdownID- 替换为空字符串:""
  • 如前所述,使用 -DropdownID- 进行搜索。

如果每个实体一次只能显示在一个下拉列表中,您只需将下拉列表的名称写入新列并寻找相等性而不是包含。

解决方案 2:

我看到您考虑过为每个下拉列表打开新的数据库表。这是一个非常糟糕的做法。你可以构建类似的东西:

     -- Texts--                     -- Dropdowns --          -- DropdownTexts --
ID    Text                       ID     ViewID   >..<    ID     TextID     DropdownID
1     This is some text          1       DD1             1       1            1
2     Some more text             2       DD2             2       1            3
3     Even more text             3       DD3             3       2            3
4     This is just silly now                             4       4            1

我打开了表 Dropdowns 如果您需要数据库方面的帮助来实现,您可以向 Dropdowns 添加更多列以使其更具可配置性。如果没有,忽略Dropdowns表,直接将View中的DropdownID写入中的DropdownID >DropdownTexts 表格。

关于c# - 限制 ASP.net 下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26137670/

相关文章:

c# - .NET CF 3.5 中 System.Threading.EventWaitHandle..ctor 的 ApplicationException

c# - 使用 NUnit 和 C# 对异步方法进行单元测试

c# - asp.NET MVC 将信息传递给 PartialView

asp.net - Asp.net Web App何时在Azure中被回收?

c# - Linq to SQL 通用存储库模式更新问题

c# - Xamarin表单-C#-异步和等待不起作用?

c# - C# 中的常量日期时间

c# - 事件目录 : get groups where a user is member

c# - 在我的应用程序中编辑 docx 的 asp.net + c# 技巧

asp.net - 如何允许匿名用户浏览Style文件夹