【问题标题】:Yes/No MessageBox in ASP.Net是/否 ASP.Net 中的消息框
【发布时间】:2015-02-16 07:22:35
【问题描述】:

我想在 ASP.Net 中使用带有是/否选项的 JavaScript 消息框。场景是,当我在按钮的 Client_click 事件上调用 JavaScript 函数时,它工作正常。但是当我从后面的代码(C#)中调用它时,它会在代码完全执行后弹出。这是我正在尝试的:

    protected void Message_Click(object sender, EventArgs e)
    {
        if (var == 1)
        {
            this.Page.ClientScript.RegisterStartupScript(this.GetType(), "open", "Confirm();", true);
        }
        string confirmValue = Request.Form["confirm_value"];


        if (confirmValue == "Yes")
        {
            this.Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('You clicked YES!')", true);
        }
        else
        {
            this.Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('Nothing has been selected')", true);
        }

    }

即使条件 var == 1 为真,我也没有得到 string confirmValue 的更新值。 但是,如果我在“OnClientClick”上调用它,它可以正常工作。已经浏览了几乎所有的网址,但还没有运气。

任何帮助将不胜感激。

【问题讨论】:

  • 你为什么不使用 confirm('yourmsg') 代替??
  • 我该怎么做?对不起,如果我问的是愚蠢的问题,但我对这些东西很陌生。这是我的 JavaScript 函数:

标签: javascript c# asp.net onclientclick


【解决方案1】:

您的代码不会等待服务器端的确认值。 Page.ClientScript.RegisterStartupScript 将只注册客户端脚本,然后方法执行将完成。它将继续下一行代码。处理注册的 javascript 代码不是服务器的责任。因此,如果您想获得Yes/NO 确认并等待服务器端,请使用AjaxModelPopupExtender 和自定义代码,这将为您提供所需的内容。 Here you can get more info on how to use the ajaxmodel pop up extender.

【讨论】:

    【解决方案2】:

    你不应该这样做。编码员是对的。 在客户端做客户端的事情,并带着一些数据来处理或决定处理的数据来到服务器。

    在您的情况下,您只需要编写 Javascript 函数并在需要时触发该函数。如果响应为是,则执行回发或 Ajax。如果没有,那么就留在页面上。

    示例 javascipt 函数如下-

    <script language="javascript" type="text/javasctipt">
    function getConfirmation(){
    var r = confirm("Press a button!");
       if (r == true) {
          return true;
       } else {
          return false;
     }
    }
    </script>
    

    您可以直接调用它,例如 -

    return confirm("Confirm Input");
    

    如果您想使用漂亮的自定义 UI,那么您可以使用 Ajax 控件工具包中的 Ajax Modelpopupextender。

    http://www.codeproject.com/Articles/34996/ASP-NET-AJAX-Control-Toolkit-ModalPopupExtender-Co

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-26
      • 2012-10-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多