2017-09-15 1 views
0

Filtre les enregistrements dans la vue d'index en utilisant la liste déroulante. Comment remplacer xxxxxxx avec selectedValue de dropdownlist à filtrer. Je ne suis pas sûr de savoir comment sélectionner la liste selectedValue dans la liste déroulante. Le code du contrôleur et le code de la vue sont ci-dessous. Je sais que c'est un petit problème. Mais j'essaye de trouver pendant quelques heures. Le filtre fonctionne bien si je remplace avec xxxxxx avec 1, 2 etc. Mais je veux changer xxxxx avec selectedValue de la liste déroulante.selectedValue de la vue au contrôleur MVC

code du contrôleur

ViewBag.doctorsid = new SelectList(db.doctors, "doctorsid", "doctorsname",selectedValue); 
return View(appointments.Where(d => d.doctorsid == xxxxxxx).ToList()); 

Afficher le code

@Html.DropDownList("Doctorsid","Select Doctor") 
+0

Afficher la signature de votre méthode (ses besoins une propriété 'int Doctorsid' de se lier à). Mais c'est une approche terrible. Liez votre dropdownlist à une propriété de modèle (reportez-vous à [cette réponse] (https://stackoverflow.com/questions/41719293/mvc5-how-to-set-selectedvalue-in-dropdownlistfor-html-helper/41731685#41731685) pour obtenir exemple –

Répondre

0

Utiliser script donné ci-dessous

Script

$("#Doctorsid").change(function() { 
    var doctorsid = $('#Doctorsid').val(); 
    var url = "/ControllerNmae/ActionResultName/+doctorsid ; 
    window.location.href = url; 
}); 
+0

Comme vous l'avez suggéré, j'ai fait de petits changements et inclus le javascript comme suit: Mais la valeur n'est pas pkckedup. – yesganesh

0

Utilisez un modèle avec des variables pour la liste d'une e déroulant valeur au lieu de la liste qui passe directement voir Controller:

ViewBag.ClientTypeID = new SelectList(db.ClientType.Where(ct => ct.IsDeleted != true), "ID", "ClientTypeName"); 

Vue:

@Html.DropDownListFor(m => m.ClientTypeID, new SelectList(ViewBag.ClientTypeList, "Value", "Text"), new { @class="drop"})