【问题标题】:retrieve checkboxlist selection from database从数据库中检索复选框列表选择
【发布时间】:2015-04-13 15:17:07
【问题描述】:

我有一个复选框列表,提交时将选择存储在带有用户 ID 的表中。该表如下所示:

    Create table tblInterestByUserId
     (
     Id int primary key identity,
     UserId varchar(10),
     SubInterestId int,
     SubInterest varchar(20),
     InterestId int
      )

现在我想根据 SubInterestId 在另一个页面上的另一个复选框列表上检索选择。我想在新页面上做这样的事情:

1.遍历 tblInterestByUserId 中所选 UserId 中所有插入的 SubInterest 行。 2.根据 tblInterestByUserId 中已存在的 SubIinterest 为该 UserId 填充复选框列表

请帮助我在 Page_Load 上使用相同的代码隐藏。

【问题讨论】:

  • 也许有一个 select 语句?
  • 我知道我必须使用 select 语句。我对使用 Read 循环或其他什么东西感到困惑?我需要一个开始。
  • 您为什么要在此表中保留SubInterest varchar(20)?它应该在另一个表中,并且在这个表中只有它的 id
  • 它是用于不同的目的。不能有任何其他表。忽略其他列。唯一关心的是 UserId 和 SubInterestId
  • 是的,您可以使用 Read 循环

标签: asp.net sql-server checkboxlist


【解决方案1】:

也许是获取你想要的数据的过程....

CREATE PROCEDURE get_selections 
 @SubInterestId INT 
AS
BEGIN
  SET NOCOUNT ON;

   SELECT SubInterest FROM tblInterestByUserId
   WHERE SubInterestId = @SubInterestId
END

从应用程序代码调用此过程

【讨论】:

  • 代码隐藏?我的意思是这就是我完全空白的地方。我也可以用一个简单的选择语句来做到这一点。
  • 所以您的问题不在于 SQL,而在于 ASP.Net。请更好地描述您的问题,这样人们就不必浪费时间回答错误的问题了。
【解决方案2】:

我的建议是在 C# 中使用带有标志的枚举,该枚举与 subinterestID 映射,这样您就可以选择存储的 Id 并将它们分配给枚举。 看到这个: http://forums.asp.net/t/1646982.aspx?enums+and+checkboxlist

【讨论】:

  • 枚举对于动态数据来说是一个糟糕的选择。除非您认为更改系统中添加或删除的每个子兴趣的代码是个好主意
  • 是的,你是对的,这种方法主要用于静态复选框列表
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-10
相关资源
最近更新 更多