不要打开Dialog?

时间:2011-10-07 16:47:38

标签: asp.net-mvc-3

我想显示一个Dialog,我正在使用jquery ui和asp.net mvc 3.0

问题是:没有打开任何对话框只有一个白页。这是我的代码。

我有一个表单,在链接中,必须打开带有数据的Dialog。

<%= Html.ActionLink("Select Image", "SelectImage", "Image", new { @class = "popup-link" })%>

我的SelectImage方法执行该操作

 public ActionResult SelectImage()
        {
            List<ImageLibraryItem> data = new List<ImageLibraryItem>();
            data = StateManager.SelectImage(ImageType.Flights);

            var datajson = new
            {
                lista= data
            };

            return Json(datajson, JsonRequestBehavior.AllowGet);
        }
    }

并返回我想要显示的图像。

在同一个视图中,我有我的链接(第一个),我把它放在:

<script language="javascript" type="text/javascript">
    $(function () {
        $('.popup-link').click(function () {
            var href = $(this).attr('href');
            $('<div><p class="popup-content"></p></div>').dialog({
                autoOpen: true,
                modal: true,
                height: 200,
                width: 400,
                open: function () {
                    $(this).find('.popup-content').load(href);
                },
                close: function () {
                    $(this).dialog('destroy');
                }
            });
            return false;
        });
    });
</script>

任何想法!为什么要给我看一个白页而不是Dialog !!!

1 个答案:

答案 0 :(得分:0)

您正在使用ActionLink助手的错误重载。它应该是这样的,以便它指向正确的控制器动作:

<%= Html.ActionLink(
    "Select Image",                 // linkText
    "SelectImage",                  // action
    "Image",                        // controller
    null,                           // routeValues
    new { @class = "popup-link" }   // htmlAttributes
) %>

而你正在使用它:

<%= Html.ActionLink(
    "Select Image",                 // linkText
    "SelectImage",                  // action
    "Image",                        // routeValues
    new { @class = "popup-link" }   // htmlAttributes
) %>