ASP.NET MVC AjaxActionLink

时间:2013-04-21 16:37:42

标签: ajax asp.net-mvc

我的部分视图没有加载,我正在使用Ajax ActionLink 这是我的观点,我称之为我的部分视图

@foreach (var p in Model.Rooms)
{


<div class="room">
    <h3>@p.RoomTitle</h3>
    <img src="@p.PhotoRoom" alt="room"/>
    <h4>@p.TitlePrice</h4>
    <blockquote>@p.Description</blockquote>

    @Ajax.ActionLink("Order room", "PartialDetail", new { @p.RoomID }, new AjaxOptions { UpdateTargetId = "results", LoadingElementId = "loading",HttpMethod = "POST",InsertionMode = InsertionMode.InsertAfter})

</div>

}

这是我的控制器

  public PartialViewResult PartialDetail(int roomid)
    {

        Room rooms =
            repository.Room.FirstOrDefault(p => p.RoomID == roomid);
        var viewModel = new RoomEditViewModel
                            {
                                RoomID = rooms.RoomID,
                                RoomTitle = rooms.RoomTitle,
                                Description = rooms.Description,
                                PhotoRoom = rooms.PhotoRoom
                            };
        ViewBag.room = roomid;

            return PartialView(viewModel);


    }

1 个答案:

答案 0 :(得分:1)

修正了您的ajax操作链接

你设置了什么

 @Ajax.ActionLink("Order room", "PartialDetail", new { @p.RoomID }

应该是

 @Ajax.ActionLink("Order room", "PartialDetail", new { roomid = @p.RoomID }

建议在您的操作中设置aceepted协议

[HttpPost]
public PartialViewResult PartialDetail(int roomid)