尽量减少回发次数

时间:2012-01-16 12:32:37

标签: asp.net webforms

我有像那样的senerio

我有三张桌子

    [Dep_No_ID] [int] IDENTITY(1,1) NOT NULL,
[Dep_Name] [nvarchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Dep_Code] [nvarchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,

测试

[Test_ID] [int] IDENTITY(1,1) NOT NULL,
[Test_Code] [nvarchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[Test_Name] [nvarchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[Tests_DepartMent_Code] [nvarchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Tests_Group_Code] [nvarchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Tests_Rate] [decimal](18, 2) NULL,

sub_test

  [Sub_Test_ID] [int] IDENTITY(1,1) NOT NULL,
[Sub_Test_Code] [nvarchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Sub_Test_Name] [nvarchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Sub_Tests_Test_Code] [nvarchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Sub_Tests_DepartMent_Code] [nvarchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Sub_Tests_Group_Code] [nvarchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Sub_Test_Rate] [decimal](18, 2) NULL,

在我的aspx页面中,当用户选择部门请求进入服务器端并且Grid与测试绑定时,我在DropDownList中显示Departments。在这个Gridview中,我在所有行中都有一个复选框,当用户选中此复选框时,请求再次进入服务器端,第二个Gridview根据测试与Subtests绑定,总而言之,发生回发很多次,这会减少我的效率因为用户从多个部门选择多个测试和Subtest。任何人都可以给我一个想法,我如何通过最小数量的Postback发生这种senerio来实现

(在测试和子测试网格中我有5-5列)

2 个答案:

答案 0 :(得分:1)

您可以进行Jquery AJAX调用以获取条件数据,也可以使用AJAX Update Panel。

答案 1 :(得分:1)

如果您需要高质量和高性能的结果,以及如果您可以花费更多时间,带有良好网格插件的jQuery是最佳选择。 这是一个不错的选择。 jqGrid demos

UpdatePannel是一个非常糟糕的选择,只有在时间有限,性能不太关注以及内容较少的页面时才应考虑。