如何从asp.net代码隐藏函数中调用javascript函数

How to call javascript function from asp.net code behind function

本文关键字:函数 调用 javascript 隐藏 代码 asp net      更新时间:2023-09-26

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.

有办法做到这一点吗。我试过编剧,但没有成功。请帮忙。非常感谢。

使用ClientScriptManager.RegisterClientScriptBlock

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

问候,

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

这是ASP.NET菜单控件无法在单击事件上注册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;
                    }
                });
            }
        });

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