2017-10-11 2 views
0

Je peux attribuer une variable ViewBag avec une liste SelectList et remplir une DropDownList. Ok ça va bien.System.Web.Mvc.SelectList ne contient pas de définition pour First

Mais je veux profiter de cette opportunité pour imprimer le premier élément de SelectList, mais je suis confronté à cette erreur.

System.Web.Mvc.SelectList ne contient pas de définition pour le premier

J'essaie de cette façon

@(ViewBag.WhateverVariable.First().Text) 

Il existe un moyen d'imprimer l'un FIRT article? , TKS

+3

Avez-vous ajouté l'espace de nom pour LINQ? 'using System.Linq;' ou '@using System.Linq' – Equalsk

Répondre

-3

Essayez jQuery à la place

Par exemple, si id de votre menu déroulant/combo est combo1 alors le code serait:

var firstValue = $("#combo1").val($("#combo1 option:first").val()); 
<p id="firstVal"><p> 
$("#firstval").html(firstValue); 
0

ViewBag est un dictionnaire dynamique. Vous devez explicitement jeter un SelectList d'abord et ensuite vous pouvez appeler la méthode First()

Cela devrait fonctionner

@((ViewBag.WhateverVariable as SelectList).First().Text) 

En supposant que votre méthode d'action déjà mis un SelectList-ViewBag.WhateverVariable

Gardez à l'esprit que First méthode lancera une exception InvalidOperationException lorsque la séquence source est vide. Assurez-vous donc d'appeler la méthode First sur une collection non vide.