Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何更改gridview中按钮的状态_Asp.net_Sql Server - Fatal编程技术网

Asp.net 如何更改gridview中按钮的状态

Asp.net 如何更改gridview中按钮的状态,asp.net,sql-server,Asp.net,Sql Server,我在一个工作门户网站,用户可以输入多个配置文件 我正在网格视图中显示所有配置文件。我现在的要求是 应该有一个状态链接与他的所有配置文件(它是在位) 示例: 这是我的gridview: jobseekerid | Profileid | status 1 2 Active 1 3 DeActive 1 4 DeActive ....

我在一个工作门户网站,用户可以输入多个配置文件

我正在网格视图中显示所有配置文件。我现在的要求是 应该有一个状态链接与他的所有配置文件(它是在位)

示例: 这是我的gridview:

jobseekerid | Profileid | status

     1           2        Active
     1           3        DeActive
     1           4        DeActive
            ....
            ....
从所有这些中,只有一个配置文件可以处于活动状态。 因此,当用户单击任何不活动的配置文件时,它将变为活动的,然后是所有的配置文件 其余配置文件将变为非活动状态。 条件是一次只能激活一个配置文件。(当他激活一个配置文件时,其余配置文件将自动变为非活动。)

现在的问题是,当用户在gridview中激活一个配置文件时,我无法使所有剩余的配置文件都处于非活动状态


如何执行此操作?

这是一个常见问题,通常通过保留填充gridview的原始数据集来解决。因此,在您的情况下,您应该将数据集(或配置文件列表-用于填充gridview的任何数据集)存储在viewstate中(假设它不太大,否则页面加载速度会变慢)。然后,在填充gridview时,需要为每个单击事件分配一个配置文件ID,以便知道单击了哪个事件。然后,您需要循环查看保存在viewstate中的数据集,并将所有数据集(除了刚才单击的数据集)更新为非活动数据集。循环并不像听起来那么复杂。。。在SQLServer2005和2008中,您有一个名为“table”的新数据类型,因此您可以一次性将所有其他ProfileID传递给DB,以将它们全部更新为非活动

在更新时,循环Gridview的表行,并相应地更改值,如果这足以更新后端中的记录。如果存在与之关联的值,则可以将该值保存在隐藏字段中,并更改隐藏字段中的值


如果这些更改将在运行中发生(即,在发生更改时更新数据库),则可以将隐藏字段设置为回发触发器,并在单击任何按钮以更新状态保存更新记录时对其进行求值()。这将导致row命令触发,您可以在其中循环每个记录并相应地更新。

是否要更改客户端的状态(即使用java脚本或JQuery)?你能提供你的代码吗?当用户激活一个配置文件时,你试图使其余的配置文件处于非活动状态?Sukhi你是对的,应该通过Java脚本或jquery来完成,这应该在ajax调用的帮助下直接反映在客户端。