在重定向到另一个页面之前,在Javascript后面调用JavaScript函数

时间:2013-10-03 10:19:57

标签: javascript jquery asp.net vb.net

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

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

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

问题说明:从评论中添加

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

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

但现在我的要求已经改变了,我必须在特定条件下从代码后面调用函数。希望你现在得到它

2 个答案:

答案 0 :(得分:0)

您可以通过以下方式执行此操作。

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

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

答案 1 :(得分:0)

唯一的方法是以不相互依赖的方式分离代码和javascript

例如,您使用服务器端代码的其余部分创建隐藏 asp:按钮

服务器端:

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

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