在单击ajax actionlink时将部分视图作为弹出窗口调用

时间:2014-04-04 12:11:15

标签: jquery asp.net-mvc

我正在尝试打开部分视图作为弹出窗口,其中应该包含点击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的新手,所以任何人都可以解决这个问题。

提前谢谢。

1 个答案:

答案 0 :(得分:0)

首先,你在控制器方法上省略了[HttpGet],并在其上使用断点,看它是否在点击actionlink时被击中。