Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.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
Grid 确定回发是page_load还是itemcommand_Grid_Load_Itemcommand - Fatal编程技术网

Grid 确定回发是page_load还是itemcommand

Grid 确定回发是page_load还是itemcommand,grid,load,itemcommand,Grid,Load,Itemcommand,在datagrid中,我的页面左侧有一个用户列表,我想在页面右侧加载一个包含单击用户信息的div。我假设我将在itemcommand事件中加载div,但是如何处理页面加载呢?我需要知道是什么导致了回发吗?我是否也需要在页面上重新加载网格\u load?通过检查排除网格绑定!IsPostBack if(!IsPostBack){ // Bind the Grid } 对于divitemcommand,您可以从网格中检索单击的值并加载用户信息 因此,不需要每次都加载网格。它将只是第一次加载。

在datagrid中,我的页面左侧有一个用户列表,我想在页面右侧加载一个包含单击用户信息的div。我假设我将在itemcommand事件中加载div,但是如何处理页面加载呢?我需要知道是什么导致了回发吗?我是否也需要在
页面上重新加载网格\u load

通过检查排除网格绑定!IsPostBack

if(!IsPostBack){
   // Bind the Grid
}
对于divitemcommand,您可以从网格中检索单击的值并加载用户信息

因此,不需要每次都加载网格。它将只是第一次加载。我认为您不需要检查回发的原因,因为无论如何,您将只加载网格一次

那么如何处理页面加载

每次回发都使用一个全新的page类实例,并完全重建页面。唯一不同的是,有些控件可能是通过ViewState预先填充的。您不需要为这些控件中的任何一个重复加载工作

我需要知道是什么导致了回发吗

ASP.Net将为您处理该事件并触发该事件。你只需要知道它是否是回发,甚至可能不是(见下一部分)

我是否也需要在页面加载时重新加载网格

对。嗯,有点。您需要将网格的html重新呈现到浏览器中。好消息是,您的网格数据很可能已经处于viewstate中,并且它将自动发生。你自己不必担心

但是,在许多情况下,您可能会发现最好关闭栅格的viewstate,并在每次回发时重新加载栅格。这是因为ViewState只是页面上的一个隐藏输入,必须随每个请求一起发布(上载)到服务器。大多数互联网用户的上传带宽都非常有限,因此大的视图状态会让你的网站看起来很懒散,即使你的服务器很难让你流汗

根据您的情况,您可以通过禁用选定控件上的ViewState,以一些多余的服务器性能换取站点响应能力,从而做得更好。在这种情况下,您将始终加载网格,不再需要关心请求是否是回发

相比之下,如果这是一个intranet应用程序,其中用户通常有到web服务器的本地以太网连接,那么在平衡响应性和服务器性能方面很难击败ViewState