C# 确定从哪个选项卡调用操作?
我正在编辑一些代码,这些代码不是我自己写的,而是已经不在这里的人写的 我正在编辑的页面有三个选项卡,每个选项卡包含一个不同的网格视图,该视图由选项卡中的搜索框填充。栅格视图中的每一行都有一个复选框。按下“打印”按钮时,应打印掉复选框中带有勾号的所有记录。然后页面会重新加载,但由于页面的编码方式,部分内容会丢失 这是因为某些代码仅在单击选项卡时调用,而不是在回发时调用。无论如何,我是否要更改以下代码,以便在回发后调用它 这些是导致问题最多的功能。。我需要为回发上的正确选项卡加载它们。。我不能对所有三个都这样做,因为在这种情况下,代码需要永远运行 AddActionsToGridView(gvGlobal); AddCheckboxesToGridView(gvGlobal)C# 确定从哪个选项卡调用操作?,c#,asp.net,C#,Asp.net,我正在编辑一些代码,这些代码不是我自己写的,而是已经不在这里的人写的 我正在编辑的页面有三个选项卡,每个选项卡包含一个不同的网格视图,该视图由选项卡中的搜索框填充。栅格视图中的每一行都有一个复选框。按下“打印”按钮时,应打印掉复选框中带有勾号的所有记录。然后页面会重新加载,但由于页面的编码方式,部分内容会丢失 这是因为某些代码仅在单击选项卡时调用,而不是在回发时调用。无论如何,我是否要更改以下代码,以便在回发后调用它 这些是导致问题最多的功能。。我需要为回发上的正确选项卡加载它们。。我不能对所有
请让我知道,如果你想让我张贴更多的代码或任何更多的信息,这是一个很难让我的头左右,所以我可能错过了一些东西了。谢谢你能提供的任何帮助 很难说我是否在回答你的问题,因为帖子标题似乎与内容有点不同。您是否只是试图将代码移动到在回发期间而不是在tab click事件期间调用的位置?如果是这样,只需将其移动到页面加载事件,并指定仅在回发期间运行,如下所示:
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;
}
}
}
我会想象这样的事情
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和TabinExchange时,请确保调用SetTabGrids
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;
}
}