Je suis nouveau sur asp.net MVC. J'ai pu créer ma vue et afficher les données (Gridview). En outre, j'ai été en mesure de créer un lien hypertexte (en utilisant Url.Action) en passant les types string et int. Cependant, je souhaite créer un lien hypertexte référençant un type plus complexe. La classe associée à ma vue a une référence à une liste. Ce que je veux est de créer un ActionResult supplémentaire dans mon contrôleur qui obtient comme une liste de paramètres (voir ci-dessous)ASP.NET MVC. Aucune idée de comment utiliser Url.action pour passer un objet au contrôleur
public ActionResult ViewItems(List<Items> c)
{
return View(c);
}
Mon idée est quand est d'être en mesure de transmettre cette liste au contrôleur et le contrôleur appellera la vue correspondante. J'ai essayé (voir ci-dessous), mais je me vide.
<asp:HyperLink ID="LinkContractID" runat="server" NavigateUrl='<%#Url.Action("ViewItems", new {c = **((Contract)Container.DataItem).ContractItems.ToList<Items>(**)}) %>'
Text='<%# Eval("ContractId") %>'></asp:HyperLink>
Je ne sais pas ce qui est arrivé, mais il ne montre pas: NavigateUrl = '<% # Url.Action ("Vie wItems ", nouveau {c = ((Contract) Container.DataItem) .ContractItems.ToList()})%> ' –
GridView ...? N'est-ce pas un contrôle WebForms? Vous ne devriez pas utiliser cela avec MVC. – Charlino
Charlino a raison. Ce truc Eval() ne fonctionne pas avec MVC non plus. –