Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ASP.net jQuery对话框未完成发布_Javascript_Jquery_Asp.net Mvc - Fatal编程技术网

Javascript ASP.net jQuery对话框未完成发布

Javascript ASP.net jQuery对话框未完成发布,javascript,jquery,asp.net-mvc,Javascript,Jquery,Asp.net Mvc,我有一个简单的示例视图,其中有两个稍微不同的链接,一个是内联确认,另一个是使用JQuery显示对话框。它们都应该在同一个地方结束,并且它们似乎都正确地命中了控制器事件。内联操作工作得很好,我们以肯定的响应直接进入结果页面。jQuery/JavaScipt事件也会命中控制器,我甚至将其跟踪到结果页面的呈现中,但实际上没有任何内容呈现到屏幕上 现在,我做的唯一一件有点奇怪的事情是隐藏字段来存储结果操作的url,但是这样存储似乎是正确的做法,以避免JavaScript错误读取url的问题 Dialog

我有一个简单的示例视图,其中有两个稍微不同的链接,一个是内联确认,另一个是使用JQuery显示对话框。它们都应该在同一个地方结束,并且它们似乎都正确地命中了控制器事件。内联操作工作得很好,我们以肯定的响应直接进入结果页面。jQuery/JavaScipt事件也会命中控制器,我甚至将其跟踪到结果页面的呈现中,但实际上没有任何内容呈现到屏幕上

现在,我做的唯一一件有点奇怪的事情是隐藏字段来存储结果操作的url,但是这样存储似乎是正确的做法,以避免JavaScript错误读取url的问题

Dialog.cshtml:

@using System.Globalization
@{
    ViewBag.Title = "Dialog";
}

<link href="~/Content/bootstrap-theme.css" rel="stylesheet" />
<link href="~/Content/bootstrap.css" rel="stylesheet" />
<link href="~/Content/themes/base/jquery-ui.css" rel="stylesheet" />
<script src="~/Scripts/jquery-2.1.0.js"></script>
<script src="~/Scripts/jquery-ui-1.10.4.js"></script>
<script src="~/Scripts/bootstrap.js"></script>

<h2>Dialog</h2>

<p><a href='@Url.Action("Result")' onclick="return confirm('Are you really sure?');">Click Me</a></p>

<button type="button" id="TestLink">Show JQuery Dialog</button>

<input type="hidden" id="RouteUrl" value='@Url.Action("Result")' />

<div id="dialog" title="jQuery UI in ASP.NET MVC">
    <p>You now have the power of ASP.NET, the simplicity of client-side scripting with jQuery, and the looks of jQuery UI.  Congrats, web slinger!</p>
</div>

<script type="text/javascript">
    // This code runs on page load
    $(function () {

        // Attach a 'dialog' action to the dialog div above
        $('#dialog').dialog({
            autoOpen: false,
            modal: true,
            width: 450,
            buttons: {
                "Ok": function () {
                    $(this).dialog("close");
                     var url = $("#RouteUrl").attr("value");
                    $.get(url);

                    return true;
                },
                "Cancel": function () {
                    $(this).dialog("close");
                    return false;
                }
            }
        });

        // Show the dialog when the show-dialog click event fires
        $("#TestLink").button().click(function (e) {
            $('#dialog').dialog('open');
            e.preventDefault();
        });
    });
</script>

我不确定我是否理解正确。单击对话框中的“确定”按钮时,您是在尝试浏览到url,还是在尝试从对话框ActionResult加载数据并将其放置在对话框中

根据您的代码,在对话框中单击“确定”后,您似乎正在尝试浏览该页面。如果是这样的话,就不用

$.get(url); 
使用:


jQuery正在从服务器检索数据,但您当前没有对其执行任何操作

嗯,这对一些人有帮助,它现在在IE上一直工作,但是Chrome抛出了一个错误:未捕获的TypeError:string不是函数行38所有看起来都是$this.dialogclose????这个错误似乎表明我缺少一个“;”?
$.get(url); 
window.location.href(url);