Alex
Alex

Reputation: 11

ASP.NET MVC AjaxActionLink

My partialview didnot load, i'm using AjaxActionLink here is my view where i call my partialview

@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>

}

Here is my controller

  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);


    }

Upvotes: 0

Views: 71

Answers (1)

Jorge
Jorge

Reputation: 18237

fixed your ajax action link

What you set

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

Should be

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

As a recommendation set the aceepted protocols in your action

[HttpPost]
public PartialViewResult PartialDetail(int roomid)

Upvotes: 1

Related Questions