【问题标题】:Call JavaScript Function On Call Behind of Javascript before redirecting to another page在重定向到另一个页面之前调用 JavaScript 的调用后面的 JavaScript 函数
【发布时间】:2013-10-03 10:19:57
【问题描述】:

我有Javascript 函数,我需要在vb.net 后面的代码中调用它。主要问题是它没有被正确调用,因为在这个函数执行之前有重定向到下一页。我不想在按钮的Onclick 事件或类似的东西上调用这个函数,我想在后面的代码中的某些特定条件之后调用它。我已经尝试了以下解决方案,如果您有其他建议,请告诉我。

System.Web.UI.ScriptManager.RegisterClientScriptBlock(Page, Me.GetType(), "Script", "ShowEntryPermForm();", True)

Page.ClientScript.RegisterStartupScript(Me.GetType(), "Window", "ShowEntryPermForm();", True)

问题描述:从评论中添加

场景是,在 javascript 函数中,我检查了与项目相关的各种条件,并打开了一个弹出窗口,用户可以在其中输入他或她的 cmets。

不需要每次函数都会打开弹出窗口。但默认情况下,页面重定向到新页面,因为 Javascript 和重定向到另一个窗口的功能都在按钮的单击事件上运行。

但是现在我的要求改变了,我必须在特定条件下从后面的代码中调用函数。希望你现在明白了

【问题讨论】:

  • 当你想执行javascript时为什么要重定向?您需要编码的实际场景是什么?
  • 您好 Murali,感谢您的回复。场景是,在 javascript 函数中,我检查了与项目相关的各种条件,并打开了一个弹出窗口,用户可以在其中输入他或她的 cmets。不必每次该功能都会打开弹出窗口。但默认情况下,页面重定向到新页面,因为 Javascript 和重定向到另一个窗口的功能都在按钮的单击事件上运行。但是现在我的要求发生了变化,现在我必须在特定条件下从后面的代码中调用该函数。希望你现在明白了。

标签: javascript jquery asp.net vb.net


【解决方案1】:

您可以通过以下方式做到这一点。

window.onbeforeunload = function()
{
    //your code goes here
    return "";
}

如果您在此处返回任何内容,则浏览器将显示并询问用户是否离开该页面。在您的情况下,您无需返回任何内容,只需运行代码。

【讨论】:

    【解决方案2】:

    唯一的办法就是把代码和javascript分开,不互相依赖

    例如,您使用其余的服务器端代码制作一个 隐藏 asp:button

    服务器端:

    if(...) then
    page.ClientScript.RegisterStartupScript(Me.GetType(), "Window", "ShowEntryPermForm();", True)
    else
      page.ClientScript.RegisterStartupScript(Me.GetType(), "Window", "otherfunction();", True)
        end if
    
    sub IDServersideHiddenbutton(obj as object ,e as eventargs)handles IDServersideHiddenbutton.click
    rest of the server side code including the redirect
    end sub
    

    客户端:

       javascript ShowEntryPermForm()
            {
          //  javascript code
    
        $("#IDServersideHiddenbutton").click();
        }
    
    javascript otherfunction()
    {
    //just the click 
    
    $("#IDServersideHiddenbutton").click();
    }
    

    我真的不知道你的代码结构,但你可以操纵它来实现这个想法

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多