【问题标题】:Display popup dialog box when user clicks button using MVC3 C# asp.net当用户使用 MVC3 C# asp.net 单击按钮时显示弹出对话框
【发布时间】:2014-02-05 11:23:52
【问题描述】:

谁能解释我如何创建一个对话框,当用户单击网页上的按钮时会出现该对话框。我在 c# 和 asp.net 中使用 MVC3 框架编码。

基本上,当用户点击“发送”时 - 对话框将显示“消息已发送”并且他们可以关闭它。在出现验证错误的情况下,对话框应显示它(例如:“请输入有效的电子邮件地址并重试”)。

请准确解释哪些代码需要放在哪些文件中。即控制器、视图、模型、脚本、css等......

谢谢

【问题讨论】:

    标签: c# jquery asp.net-mvc-3 dialog modal-dialog


    【解决方案1】:

    您必须使用 Javascript。在 C# 中,您应该有一个 OnClientClick 事件。 像这样把你的scriptlet放在那里:

    OnClientClick="alert('Hello World!');"
    

    返回 truefalse 取决于您是否希望发生服务器端点击:

    OnClientClick="return confirm('Are you sure?');"
    

    如果这段代码不是完全完美,它仍然会引导你找到正确的解决方案,因为基本上没有任何其他选择。

    【讨论】:

    • 感谢您的回复。使用 MVC 框架如何应用?
    【解决方案2】:

    你可以使用jQuery UI modal:

      <script>
      $(function() {
        $( "#dialog-message" ).dialog({
          modal: true,
          buttons: {
            Ok: function() {
              $( this ).dialog( "close" );
            }
          }
        });
      });
      </script>
    
    <div id="dialog-message" title="Download complete">
      <p id="messageText">
      </p>
    </div>
    

    单击按钮后,您可以在此对话框中发送 ajax 请求和成功设置消息并显示它。

    编辑:

    <input type = "submit" id="doSomethingButton">
    
    <script>
        $(function(){
            $('#doSomethingButton').click(function(){
                $.ajax({
                    url:"url-to-send-data",
                    data:"", // optional
                    type:"http-method-type", //GET, POST, DELETE, PUT ....
                    success:function(data){
                        $('#messageText').text(data);
                        $('#dialog-message').dialog('open');
                    }
                });
            });
        });
    </script>
    

    【讨论】:

    • 他们点击的按钮是一个&lt;input type = "submit"&gt;标签,这样它就可以返回给发送电子邮件的控制器。然后需要出现对话框。所以不知何故需要将&lt;button onclick="blah"&gt;与它集成在一起?¿
    • 谢谢,但他们不需要在&lt;script&gt; 标签中。它也不起作用:/
    【解决方案3】:

    查看这些 JQuery 插件的 Here 这肯定有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-12
      • 2012-05-09
      • 1970-01-01
      相关资源
      最近更新 更多