如何从asp.net代码后面的函数调用javascript函数

时间:2013-07-19 11:16:59

标签: javascript asp.net

javascript代码

function logoutPop() {
       var a = confirm("are you sure !");
       if (a = true)
           return true;
       else return false;
    }

aspx文件

    protected void Menu1_MenuItemClick(object sender, MenuEventArgs e)
        {
            string selectedItem = e.Item.Value;
            if (selectedItem == "logout")
            {
// here i want to call javascript function logoutPop() and check return value. if true want to redirect login page else nothing.

有没有办法做到这一点。我尝试过scriptmanager但没有成功。请帮忙 。谢谢。

3 个答案:

答案 0 :(得分:1)

使用ClientScriptManager.RegisterClientScriptBlock

请参阅以下链接。 http://msdn.microsoft.com/en-us/library/btf44dc9.aspx

此致

答案 1 :(得分:0)

据我所知你不能这样做。你可以在页面加载之前或服务器端代码执行之后运行javascript代码。你不能让javascript在c#代码执行之间工作然后返回到C#。

答案 2 :(得分:0)

使用ASP.NET Menu Control无法在点击事件上注册javascript方法。

我希望我理解你的问题吧!您希望其中一个菜单项上的“确认”框需要在客户端(浏览器)上显示而不进行回发。

这只能通过在呈现文档后使用jQuery来玩DOM来实现。

jQuery代码:

$(document).ready(function () {
        $('#MainContent_mTest a').each(function () {
            var anchorHtml = $(this).html();
            if (anchorHtml == 'logout') {
                var clickEvent = this.onclick;
                this.onclick = "";
                $(this).bind('click', function (ev) {
                    if (confirm("Are you sure !")) {
                        clickEvent();
                    }
                    else {
                        return false;
                    }
                });
            }
        });

我希望这能解决你的问题...