J'ai une grille, j'ai besoin d'ajouter une colonne Détails à la grille et lorsque la colonne de détail est sélectionnée, les détails de cette ligne doivent apparaître juste en dessous de la grille actuelle.Ajax.ActionLink ne fonctionne pas MVC
Mon code:
<% Html.Grid(Model.InnerModel.StatusRecords)
.Empty("No data available")
.Attributes(new Hash(id => "resultsTable"))
.Columns(column =>
{
column.For(x => Ajax.ActionLink("Details", "BatchDetailsByStatus", "ReportsController", new { statusId = x.Status, jobNo = Model.InnerModel.JobNumber }, new AjaxOptions
{
HttpMethod = "GET",
UpdateTargetId = "StatusBatchDetailsDiv"})).Named("Details").DoNotEncode();
column.For(x => x.Status);
column.For(x => x.TotalCount).Named("Count");
}).Render(); %>
Mon code contrôleur:
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult BatchDetailsByStatus(int statusId, string jobNo)
{
var batchModel = BatchByStatus.GetBatchDetailsByStatus(statusId, jobNo);
return PartialView("BatchDetailsByStatus", batchModel);
}
J'ai un partailview BatchDetailsByStatus qui obtient toutes les données nécessaires à l'affichage. Mais lorsque je clique sur le lien Détails, rien ne se passe, cela ne fonctionne pas.
Qu'est-ce qui me manque?
Merci
Oui, parce que le moteur de routage ajoute automatiquement « contrôleur » à la fin de votre chaîne de routage, comme partie de sa "Configuration par Convention". J'ai trouvé cela un peu contre-intuitif aussi, au début. –