当用户使用MVC3 C#asp.net单击按钮时显示弹出对话框

时间:2014-02-05 11:23:52

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

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

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

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

由于

3 个答案:

答案 0 :(得分:1)

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

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

如果您希望服务器端点击发生,请返回truefalse

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

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

答案 1 :(得分:1)

您可以使用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>

答案 2 :(得分:0)

请参阅这些JQuery插件的Here这是肯定的帮助