我正在尝试打开部分视图作为弹出窗口,其中应该包含点击ajax动作链接的图像
@Ajax.ActionLink("View Document", "ViewDocument","Property",
new RouteValueDictionary { { "id", ViewBag.DocumentName } },
new AjaxOptions{
HttpMethod="GET",
InsertionMode=InsertionMode.Replace,
LoadingElementId="loading",
UpdateTargetId = "View"
})
并使用该ID我找到该图像的文件名和路径并返回部分视图
public ActionResult ViewDocument(int id)
{
var document = db.Documents.Where(d => d.Id == id).FirstOrDefault();
var documentFilename = document.FileName;
ViewBag.Document = string.Format("~/App_Data/Uploads/{0}.jpg",documentFilename);
return PartialView();
}
我的部分视图看起来像
@model MVC5Application.Models.Property
<img src="@ViewBag.Document" alt="" />
并在点击ajax链接时使用jquery
和弹出局部视图的jquery是
$(function () {
$(document).dialog({
autoOpen: false,
width: 1500,
resizable: false,
modal: true
});
});
$(document).ready(function() {
$('#View Document').click(function () {
$(document).load("@Url.Action("@ViewBag.Document")", function () {
$(document).dialog('open');
});`enter code here`
return false;
});
});
我不知道它是否正确。我是mvc的新手,所以任何人都可以解决这个问题。
提前谢谢。
答案 0 :(得分:0)
首先,你在控制器方法上省略了[HttpGet],并在其上使用断点,看它是否在点击actionlink时被击中。