0

我有下载文件的链接,这个过程有时很长,所以我想要一个 JQ 模式对话框来显示,通知用户正在下载。

使用 JQuery 模态:http: //jqueryui.com/demos/dialog/#modal

@model MvcResComm.Models.FileList

@{
    ViewBag.Title = "Download";
}

<script src="../../Scripts/jquery-1.8.0.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery-ui-1.8.20.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery-ui-1.8.23.custom.min.js" type="text/javascript"></script>

<script type="text/javascript">
    $(document).ready(function () {
        $('a').click(function () {
            $("#dialog-modal").dialog({
                height: 140,
                modal: true
            }, 'open');
        });
    });
</script>

<h2>Download</h2>

<table>
@foreach (KeyValuePair<string, string> item in Model.Files) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.Value)
        </td>
        <td>
            @Html.ActionLink("Download", "DownloadFile", new { fileid = item.Key, token = Model.Token, platform = "windows" })
        </td>
    </tr>
}

</table>
<div id="dialog-modal" title="Basic modal dialog">
    <p>Download in progress.</p><span class="loading">&nbsp;</span>
</div>
4

1 回答 1

1

您将 JQuery 1.8 与 jQuery UI 1.8.20 一起使用。

看来您至少需要 jQuery UI 1.8.22。

演示- 使用 jQuery 1.8 和 jQuery UI 1.8.20

(使用 ajax.aspnetcdn.com/ajax/jquery.ui/1.8.20/jquery-ui.js)

上面的演示导致一个错误,您可以在控制台中看到:
TypeError: match is undefined: return !!$.data( elem, match[ 3 ]);

演示- 使用 jQuery 1.8 和 jQuery UI 1.8.22

(使用 ajax.aspnetcdn.com/ajax/jquery.ui/1.8.22/jquery-ui.js)

如果您仍然遇到 jQuery UI 1.8.22 的问题,那么您的自定义 jQuery 1.8.23 文件可能会干扰某些东西。

于 2012-08-24T13:11:45.127 回答