我想显示一个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 !!!
答案 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
) %>