如何在打开某些选项卡时停止保存按钮功能 运行
How to stop save button function running when certain tab is open
我有一个显示几个不同选项卡的页面。
<li id="liHeader"><a href="#tabHeader" title="Header">General</a></li>
<li id="liFooter"><a href="#tabNotesComments" id="tabNotes" title="Notes/History of Job">Notes (<%= NoOfNotes %>)</a></li>
<li runat="server" id="liDelivery" ><a href="#<%= tabDeliveryDbrief.ClientID %>" title="Delivery Dbrief">Delivery Dbrief</a></li>
每个选项卡都有不同的功能。在这些选项卡上方是一些新建、保存、删除等按钮。在保存功能中,有代码在每次更新内容时创建一个注释。例如 "user A updated job at 12:48 PM"。
此保存按钮适用于在打开的任何选项卡中所做的任何更改。但是当 'Delivery Debrief' 选项卡打开时,我不希望每次更新内容时都创建这个注释。在此选项卡中,信息会更新很多,因此会有太多注释。
所以每次点击保存按钮时,这段代码都是 运行:
protected void btnSave_Click(object sender, EventArgs e)
{
string Note = Job.Compare(oldJob, new Job(int.Parse(Request.QueryString["JobID"])), Mod);
JobNote modNote = new JobNote
{
JobID = job.ID,
Company_ID = CurCompID,
Date = DateTime.Now,
Time = DateTime.Now,
Note = Note,
CreatedBy = CurrentUser.UserID,
CreatedByName = CurrentUser.Username,
NoteType = 1
};
modNote.Create();
}
有没有办法在交付报告选项卡打开时停止此代码 运行ning?仍然需要为其他选项卡创建注释。
你不能阻止点击,但是你可以用2个方法:
1 - 将您的按钮设为 html 按钮并通过 ajax(Web 服务)
在服务器端调用点击
2 - 您可以为 li
设置一个属性(如 'active=false'),然后单击选项卡将其设置为 'true'。现在在服务器端检查这个属性(liDelivery.Attributes["active"]
)如果它是真的,这意味着选项卡是打开的并且没有做任何事情
protected void btnSave_Click(object sender, EventArgs e)
{
if(liDelivery.Attributes["active"].ToString() == "false") return;
string Note = Job.Compare(oldJob, new Job(int.Parse(Request.QueryString["JobID"])), Mod);
JobNote modNote = new JobNote
{
JobID = job.ID,
Company_ID = CurCompID,
Date = DateTime.Now,
Time = DateTime.Now,
Note = Note,
CreatedBy = CurrentUser.UserID,
CreatedByName = CurrentUser.Username,
NoteType = 1
};
modNote.Create();
}
我有一个显示几个不同选项卡的页面。
<li id="liHeader"><a href="#tabHeader" title="Header">General</a></li>
<li id="liFooter"><a href="#tabNotesComments" id="tabNotes" title="Notes/History of Job">Notes (<%= NoOfNotes %>)</a></li>
<li runat="server" id="liDelivery" ><a href="#<%= tabDeliveryDbrief.ClientID %>" title="Delivery Dbrief">Delivery Dbrief</a></li>
每个选项卡都有不同的功能。在这些选项卡上方是一些新建、保存、删除等按钮。在保存功能中,有代码在每次更新内容时创建一个注释。例如 "user A updated job at 12:48 PM"。 此保存按钮适用于在打开的任何选项卡中所做的任何更改。但是当 'Delivery Debrief' 选项卡打开时,我不希望每次更新内容时都创建这个注释。在此选项卡中,信息会更新很多,因此会有太多注释。 所以每次点击保存按钮时,这段代码都是 运行:
protected void btnSave_Click(object sender, EventArgs e)
{
string Note = Job.Compare(oldJob, new Job(int.Parse(Request.QueryString["JobID"])), Mod);
JobNote modNote = new JobNote
{
JobID = job.ID,
Company_ID = CurCompID,
Date = DateTime.Now,
Time = DateTime.Now,
Note = Note,
CreatedBy = CurrentUser.UserID,
CreatedByName = CurrentUser.Username,
NoteType = 1
};
modNote.Create();
}
有没有办法在交付报告选项卡打开时停止此代码 运行ning?仍然需要为其他选项卡创建注释。
你不能阻止点击,但是你可以用2个方法:
1 - 将您的按钮设为 html 按钮并通过 ajax(Web 服务)
在服务器端调用点击2 - 您可以为 li
设置一个属性(如 'active=false'),然后单击选项卡将其设置为 'true'。现在在服务器端检查这个属性(liDelivery.Attributes["active"]
)如果它是真的,这意味着选项卡是打开的并且没有做任何事情
protected void btnSave_Click(object sender, EventArgs e)
{
if(liDelivery.Attributes["active"].ToString() == "false") return;
string Note = Job.Compare(oldJob, new Job(int.Parse(Request.QueryString["JobID"])), Mod);
JobNote modNote = new JobNote
{
JobID = job.ID,
Company_ID = CurCompID,
Date = DateTime.Now,
Time = DateTime.Now,
Note = Note,
CreatedBy = CurrentUser.UserID,
CreatedByName = CurrentUser.Username,
NoteType = 1
};
modNote.Create();
}