我是一个有用的助手,可以帮助您翻译文本。
我有一个当前的问题,在解释上下文之前:
我有一个包含表单的模态弹出框扩展程序。有一个“保存并添加新项”的功能,当用户点击此按钮时,在回发期间将表单中的数据保存到数据库中,并重新加载页面。
我希望在页面加载时再次出现这个模态弹出框,允许用户输入新数据,而不必再次点击显示该模态弹出框的按钮。
我首先尝试以以下方式调用它:
ClientScript.RegisterStartupScript(Page.GetType(), "ModalPopup", "ShowModalPopup(""" & Me.formModalButton.ID & """);", True)
但问题在于当该函数被调用时,我的模态框弹窗还不存在于页面上。因此,代码在处崩溃。
var modal = $find('myModal');
所以,我找到了另一种方法,它几乎完美地工作。
ClientScript.RegisterStartupScript(Page.GetType(), "ModalPopup", "Sys.Application.add_load(function() {ShowModalPopup(""" & Me.formModalButton.ID & """)};", True)
模态框在页面加载时按照我的意愿出现了,但问题是如果我点击页面上的任何其他按钮,模态框也会再次出现。
例如:我有另一个用于删除数据的模态框,在我点击该按钮时,两个模态框都会出现,这不好。
有人知道如何解决这个问题或更好的方法吗?
附言:我没有在服务器端调用模态框弹出窗口,因为JavaScript函数存在于页面中,所以我不想在RegisterStartupScript中创建该函数的副本。
感谢您的时间。