Я пытаюсь использовать Ajax.ActionLink для обновления списка элементов на моей странице.Я могу заставить базовые обновления Ajax работать на тестовой странице без проблем, но в этом конкретном случае я не могу заставить его работать.
Мой контроллер индекса и View довольно просты (см. Ниже).Представление «Индекс» отображает действие «Список», в котором перечислены мои элементы, а мои AjaxLinks.AjaxLinks вызывают действие «UpdateStatus», которое изменяет статус элемента.После того, как это произойдет, в списке больше не будет отображаться этот элемент, поэтому я возвращаю действие List.
Однако, хотя весь код выполняется правильно, без ошибок, страница не обновляется и не обновляется.Кто-нибудь может увидеть мою проблему?
Public Function Index(Optional ByVal status As String = "Pending") As ActionResult
ViewBag.Status = status
Return View()
End Function
Public Function List(Optional ByVal status As String = "Pending") As ActionResult
'Code to populate the model with the filtered list is here'
Return View(plvm)
End Function
Public Function UpdateStatus(ByVal id As Integer, ByVal status As String, ByVal actionStatus As String)
'Code to update the status is here'
db.SaveChanges()
Return List(status)
End Function
Index.vbhtml:
@Code
ViewData("Title") = "Proposals"
Layout = "~/Views/Shared/_Layout.vbhtml"
End Code
@* Some additional render code is here *@
<div id="dashboardDetails">
@Code
Html.RenderAction("List", "Proposals", New With {.status = ViewBag.Status})
End Code
</div>
List.vbhtml:
@ModelType CharityMVC.ProposalListViewModel
@Code
Layout = ""
End Code
@* Some addtional render code is here (table tags, etc...) *@
<tbody>
@For Each item As CharityMVC.Program In Model.Programs
@:<tr id="prop @item.Id">
@:<td>@item.Proposal.Organization.Name</td>
@:<td>@item.Name</td>
@:<td><div class="buttons">
@Ajax.ActionLink("ajax link", "UpdateStatus", New With {.id = item.Id, .actionStatus = "Tabled", .status = ViewContext.RouteData.Values("status")}, New AjaxOptions With {.UpdateTargetId = "dashboardDetails"})
@:</div></td>
@:</tr>
Next
</tbody>
</table>