0

嗨,我有一个存储过程,我从中为表选择列

@ID nvarchar(200)

AS

BEGIN

    SET NOCOUNT ON
    SELECT 
      [ID]
      ,[Subject]
      ,[From]
      ,[To]
      ,[Body]
      ,[Comment] From Status 
      where ID=@ID 
  
END

我只有一个只读 gridview 表和一个下拉列表,其中接受了 2 个选项,拒绝。我希望页面首先加载数据库中的所有电子邮件,然后当用户选择接受或拒绝的 ID 以显示该列电子邮件。我的问题是,当用户选择选项时,如果所有电子邮件都显示在 gridview 中,则它不起作用,反之亦然,如果选项正常,则在页面加载时不会显示所有电子邮件。因此,除非用户选择选项,否则我希望首先显示所有内容。

4

1 回答 1

1

将您的过程更改为此

@ID nvarchar(200)

AS

BEGIN

SET NOCOUNT ON
SELECT 
  [ID]
  ,[Subject]
  ,[From]
  ,[To]
  ,[Body]
  ,[Comment] From Status 
  where (ID=@ID  or @ID="All")
END

然后将另一个第一个元素添加到下拉列表中,如下所示:

<asp:listitem Value="All" Text="All" />

现在,当页面加载时,传递的 ID 将是All,并且将返回所有内容;除非用户选择Accepted, 或Denied.

于 2012-07-18T16:11:13.763 回答