2010-08-27 45 views
1

我在编辑一些不是由我自己写的代码,而是一些不在这里的人。确定从哪个选项卡调用某个操作?

我正在编辑的页面有三个选项卡,每个选项卡都包含一个不同的网格视图,它由选项卡中的搜索框填充。网格视图中的每一行都有一个复选框。当按下打印按钮时,应该打印出复选框中打勾的所有记录。然后页面重新加载,但由于页面编码的方式导致部分内容丢失。

这是因为一些代码只在点击标签而不是回发时调用。无论如何,我改变下面的代码,以便在回发后调用它?

这些是导致最多问题的功能..我需要他们加载回发上正确的选项卡..我不能这样做所有三个代码需要永远运行在这种情况下。

AddActionsToGridView(gvGlobal); AddCheckboxesToGridView(gvGlobal);

{ 
     if (tabconConsignments.ActiveTabIndex == 0) 
     { 
      dtGlobalIDConsignments = fGenerateTableSQL(astrPalletIDs, DateFrom, DateTo, ddlReqColDel.SelectedValue, "GlobalID", "", ""); 

      //Global ID Tab 
      gvGlobal.DataSource = dtGlobalIDConsignments; 
      gvGlobal.DataBind(); 

      //Actions 
      AddActionsToGridView(gvGlobal); 
      AddCheckboxesToGridView(gvGlobal); 

     } 
     else if (tabconConsignments.ActiveTabIndex == 1) 
     { 

      dtCreatedDateConsignments = fGenerateTableSQL(astrPalletIDs, DateFrom, DateTo, ddlReqColDel.SelectedValue, "CreatedDate", "", ""); 

      //Created Date Tab 
      gvCreationDate.DataSource = dtCreatedDateConsignments; 
      gvCreationDate.DataBind(); 
      tbCreationDateSearch.Text = ""; 

      //Actions 
      AddActionsToGridView(gvCreationDate); 
      AddCheckboxesToGridView(gvCreationDate); 

     } 
     else if (tabconConsignments.ActiveTabIndex == 2) 
     { 
       dtAccountsConsignments = fGenerateTableSQL(astrPalletIDs, DateFrom, DateTo, ddlReqColDel.SelectedValue, "Account", "", ""); 

       //Account Tab 
       gvAccount.DataSource = dtAccountsConsignments; 
       gvAccount.DataBind(); 

       AddActionsToGridView(gvAccount); 
       AddCheckboxesToGridView(gvAccount); 
      } 

请让我知道如果你要我发表任何代码或任何更多的信息它是一个艰难的一个,我让身边,所以我可能会错过什么了我的头。感谢您提供任何帮助。

回答

0

很难说如果我回答你的问题,因为主题标题看起来有点不同于内容。你只是试图将你的代码移到一个在回发期间被调用的地方,而不是在标签单击事件期间被调用?如果是这样,只是仅在回发将它移动到页面加载事件,并指定您希望它像下面这样运行:

protected void Page_Load(object sender, EventArgs e) 
{ 
    if(this.Page.IsPostBack) 
    { 
     switch (tabconConsignments.ActiveTabIndex) 
     { 
      case 0: 
       // Do your stuff here. 
       break; 
      case 1: 
       // Do your stuff here. 
       break; 
      case 2: 
       // Do your stuff here. 
       break; 
      default: 
       // Do your stuff here. 
       break; 
     } 
    } 
} 
0

我会想象这样的事情

protected void Page_Load(object sender, EventArgs e) 
     { 
      if(!IsPostBack) 
       SetTabGrids((); 
     } 
     protected void btnPrint_Click(object sender, EventArgs e) 
     { 
      //Code 
      SetTabGrids(); 
     } 
     protected void tabconConsignments_TabIndexChanged(object sender, EventArgs e) 
     { 
      //Code 
      SetTabGrids(); 
     } 

     private void SetTabGrids() 
     { 
      switch(tabconConsignments.ActiveTabIndex) 
       case 0: //Global ID Tab 
        dtGlobalIDConsignments = fGenerateTableSQL(astrPalletIDs, DateFrom, DateTo, ddlReqColDel.SelectedValue, "GlobalID", "", ""); 
        gvGlobal.DataSource = dtGlobalIDConsignments; 
        gvGlobal.DataBind(); 
        AddActionsToGridView(gvGlobal); 
        AddCheckboxesToGridView(gvGlobal); 
        break; 
       case 1: //Created Date Tab 
        dtCreatedDateConsignments = fGenerateTableSQL(astrPalletIDs, DateFrom, DateTo, ddlReqColDel.SelectedValue, "CreatedDate", "", ""); 
        gvCreationDate.DataSource = dtCreatedDateConsignments; 
        gvCreationDate.DataBind(); 
        tbCreationDateSearch.Text = ""; 
        AddActionsToGridView(gvCreationDate); 
        AddCheckboxesToGridView(gvCreationDate); 
        break; 
       case 2: 
        dtAccountsConsignments = fGenerateTableSQL(astrPalletIDs, DateFrom, DateTo, ddlReqColDel.SelectedValue, "Account", "", ""); 
        gvAccount.DataSource = dtAccountsConsignments; 
        gvAccount.DataBind(); 
        AddActionsToGridView(gvAccount); 
        AddCheckboxesToGridView(gvAccount); 
        break; 
      } 
     } 

页面加载第一次通过调用SetTabGrids()方法来执行网格绑定。之后,确保在处理PrintButtonClick和TabIndexChange的PostBack时调用SetTabGrids。

相关问题