如何停止保存按钮功能运行时,某些选项卡打开

本文关键字:选项 保存 何停止 按钮 功能 运行时 | 更新日期: 2023-09-27 18:06:28

我有一个显示几个不同选项卡的页面。

<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>

每个标签都有不同的功能。在这些标签的上方是一些新建、保存、删除等按钮。在save函数中,有代码在每次更新内容时创建一个注释。例如"用户A在12:48 PM更新了作业"。此保存按钮用于在打开的任何选项卡中所做的任何更改。但是当"交付汇报"标签打开时,我不希望每次更新时都创建这个笔记。在这个标签信息得到更新很多,所以会有太多的笔记。每次点击保存按钮时,下面的代码就会运行:

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();
}

是否有办法停止此代码运行时,交付汇报标签是打开的?仍然需要为其他选项卡创建注释。

如何停止保存按钮功能运行时,某些选项卡打开

你不能阻止点击,但你可以用两个方法来做到这一点:

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();
}