Quantcast
Channel: ASP.NET AJAX + Ajax Control Toolkit (ACT)
Viewing all articles
Browse latest Browse all 5678

MVC Accordion on ajax.ActionLink

$
0
0

I am using Ajax.ActionLink to send a request to my action method and update the SelectedSTRMList div with a partial view. I am trying to use an accordion to view the updated div. However, the partial view is not displaying within the div when the link is clicked. I can view the partial view in a separate window. Any idea of what I am doing wrong?? Thanks

View

@model IEnumerable<NS.Models.FeeAuth><h2>Requests</h2><div class="table-responsive"><table class="table table-condensed" style="border-collapse:collapse;"><tr><th>
                @Html.LabelFor(m => m.First().ID)</th><th>

                @Html.ActionLink("Request ID", "ApprovalIndex", new { sortOrder = ViewBag.RequestIDSortParam })</th><th>
                @Html.Label("emplid", "Student Emplid")</th><th>
                @Html.LabelFor(m => m.First().fname)</th><th>
                @Html.LabelFor(m => m.First().lname)</th<th></th></tr>
        @{int i = 0;}
        @foreach (var item in Model)
        {<tr data-toggle="collapse" data-parent="#collapse1_@i" data-target="#collapse1_@i" class="accordion-toggle"><td>

                    @Ajax.ActionLink(Html.Encode(item.ID),
                             "SelectedSTRMS",
                              new
                              {
                                 id = item.ID,
                                 requestId = item.requestID
                               },
                   new AjaxOptions
                      {
                       UpdateTargetId = "SelectedSTRMList",
                       InsertionMode = InsertionMode.Replace,
                       HttpMethod = "GET"
                      })</td><td>
                    @Html.DisplayFor(modelItem => item.requestID)</td><td>
                    @Html.DisplayFor(modelItem => item.emplid)</td><td>
                    @Html.DisplayFor(modelItem => item.fname)</td><td>
                    @Html.DisplayFor(modelItem => item.lname)</td></tr><tr><td colspan="6" class="hiddenRow"><div class="accordian-body collapse" id="collapse1_@i"><div id="SelectedSTRMList"></div></div></td></tr>
            i++;
        }</table>

 

_Layout View showing jquery

<script src="@Url.Content("~/Scripts/jquery-1.11.1.min.js")" type="text/javascript"></script><script src="@Url.Content("~/Scripts/jquery-ui-1.11.2.min.js")" type="text/javascript"></script>
    @*<script src="@Url.Content("//ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>*@<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script><script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script><script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script><script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>

Controller

 public PartialViewResult SelectedSTRMS(int id, int requestId)
    {


        FeeAuthWithCommentsViewModel feeauth = new FeeAuthWithCommentsViewModel();
        feeauth.FeeAuth = db.FeeAuths.Find(id);


        int feeauthID = id;
        List<string> GetSTRM = new List<string>();

        GetSTRM = db.vw_GetSTRMs.Where(v => v.FeeAuthID == feeauthID).Select(v => v.DESCR).ToList();

        if (GetSTRM.Count > 0)
        {
            ViewBag.SemesterInfo = GetSTRM.ToList();
        }
        else
        {

            ViewBag.SemesterInfo = new List<string> { "No STRM Selected" };
        }

        return PartialView("_SelectedSTRMS");
    }

Partial View

<table><tr><td><ul>
                 @foreach (var s in (List<string>)ViewBag.SemesterInfo)
                 {<li style="padding-bottom:20px;">@s</li>
                 }</ul></td></tr></table>

Viewing all articles
Browse latest Browse all 5678

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>