除非用户选择下拉列表,否则如何使用gridview表显示所有内容

时间:2012-07-18 16:05:46

标签: asp.net stored-procedures

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

@ID nvarchar(200)

AS

BEGIN

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

END

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

1 个答案:

答案 0 :(得分: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,并且将返回所有内容;除非用户选择AcceptedDenied