使用MVC3 C#ASP.NET单击按钮时显示弹出对话框



有人可以解释一下我如何创建一个对话框,当用户单击网页上的按钮时将出现。我正在使用C#和ASP.NET中的MVC3框架编码。

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

请准确地说明哪些代码需要在哪些文件中进行。即控制器,视图,模型,脚本,CSS等...

谢谢

您必须使用JavaScript。在C#中,您应该有一个OnClientClick事件。将您这样的脚本放在那里:

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

是否要返回truefalse,是否要进行服务器端单击是否发生:

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

如果此代码不是完全完美它仍然会导致您获得正确的解决方案,因为基本上实际上没有其他选项。

您可以使用jQuery UI模式:

  <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>

请参阅这些jQuery插件在这里,这是当然的帮助

最新更新