0

我有一个包含脚本的 ASP.Net 页面:#

    var Show;    

    $(document).ready(function () {
        ...Set fooDialog to autoOpen=false
        ...Open the dialog on fooLink.Click
if(Show){
...Open the dialog
        }

行为是,当用户打开页面时,默认情况下会隐藏此模式对话框。然后,当他们单击 fooLink 时,它就会打开。他们输入一些进入网格的文本并关闭它,它又被隐藏了。

现在,当用户单击网格中该行上的编辑时,我想显示带有值的对话框。

当用户选择编辑行时,我们调用后面的代码:

protected void foo_RowEditing(object sender, GridViewEditEventArgs e)
{
...fill in the values in the dialog
...ClientScript.RegisterStartupScript(this.Page.GetType(), "webMethod", String.Format("<script>SetShowFooDialog()</script>"));
}

问题是打开 fooDialogue 的函数被后面的代码调用,然后调用 $(document).ready(function () 并覆盖它,将对话设置为隐藏。所以实际上我们加载它然后隐藏它因为我们正在客户端上重新加载页面。

有没有办法解决?

4

1 回答 1

0

在 ready(function ()... 仅当 blnFlagDialog = false; 是全局 javascript 变量时才隐藏对话框。

像我一样更新这个注册脚本语句并在它之后重置标志

RegisterStartupScript(this.Page.GetType(), "webMethod", String.Format("<script>blnFlagDialog = ture;OpenFooDialog();blnFlagDialog = false;</script>"));
于 2012-04-17T11:10:57.863 回答