在c#Button事件中一起调用OnClientClick和Onclick

时间:2014-08-11 06:21:05

标签: c# javascript asp.net session

我有一个Asp.Net c#应用程序,在mAsterpage上有Logout Button。

我正在尝试在单击LogOut时提醒确认窗口。如果我选择是,那么我会将其重定向到登录页面。

所以我在下面尝试过。 OnClient单击我在JavaScript函数下面调用。

   <script type = "text/javascript">
    function Confirm() {
        var confirm_value = document.createElement("INPUT");
        confirm_value.type = "hidden";
        confirm_value.name = "confirm_value";
        if (confirm("Do you want to save data?")) {
            confirm_value.value = "Yes";
        } else {
            confirm_value.value = "No";
        }
        document.forms[0].appendChild(confirm_value);
    }
</script>

按钮点击我已经下面的代码。

         protected void ImgbtnLogOut_Click(object sender, ImageClickEventArgs e)
    {
        try
        {
            string confirmValue = Request.Form["confirm_value"];
            if (confirmValue == "Yes")
            {
                Session.Clear();
                Session.Abandon();
                Response.Redirect(ConfigurationManager.AppSettings["LogoutURL"].ToString());
                //Server.Transfer(ConfigurationManager.AppSettings["LogoutURL"].ToString());
            }
            else
            {
                //Do Nothing
            }
        }
        catch (Exception ex)
        {
        }
        finally
        {
        }
    }

我收到错误无法评估Expression,代码是Optimized ....错误在下面一行。并且页面未被重定向到所需页面。

                Response.Redirect(ConfigurationManager.AppSettings["LogoutURL"].ToString());

任何人都可以建议,我怎样才能实现这一点。

1 个答案:

答案 0 :(得分:1)

此确认框可帮助您通过Ajax获得正确的响应。

用于确定值的java脚本代码。

<script type="text/javascript">
        function Confirm() {
            var confirm_value = document.createElement("INPUT");
            confirm_value.type = "hidden";
            confirm_value.name = "confirm_value";
            if (confirm("Do you want to proceed continue ?")) {
                confirm_value.value = "Yes";
            } else {
                confirm_value.value = "No";
            }
            document.forms[0].appendChild(confirm_value);
        }
    </script>

用于创建exect数据的C#代码。

string confirmValue = Request.Form["confirm_value"];
          string[] Value_Confirm = confirmValue.Split(',');
          if (Value_Confirm[Value_Confirm.Length-1] == "Yes")
          {}

或点击此处:http://www.codeproject.com/Answers/1070495/Ask-yes-no-cancel-window-in-csharp#answer6