2009-09-22 6 views
0

Je suis en train d'accomplir ceci avec Sql et LINQ to Asp.Net MVC:Faire une requête dynamique avec Linq en utilisant une liste déroulante option sélectionnée dans Asp.net MVC

J'ai une liste déroulante avec des options Pays, ville et état. Et à côté, il y a une boîte de texte. Ainsi, un utilisateur, par exemple, sélectionnera City et tapera "new york city" dans la zone de texte et l'application lui montrera les résultats de son choix. Donc, comment puis-je faire une requête dynamique en fonction de ce que l'utilisateur a sélectionné dans la liste déroulante? Je n'essaie pas de faire quelque chose de codé en dur, parce que j'ai l'intention d'utiliser cette requête avec d'autres choses.

Merci beaucoup!

Répondre

1

Il semble que vous cherchiez une zone de saisie automatique complète AJAX. Quelque chose semblable à l'article de blog de Ben Scheirman http://flux88.com/blog/jquery-auto-complete-text-box-with-asp-net-mvc/ ferait l'affaire. En utilisant cet article comme base pour votre code, vous modifiez le comportement de saisie semi-automatique javascript pour inclure le paramètre City/State/Country dans votre appel au contrôleur MVC.

<script type="text/javascript"> 
    $(document).ready(function() { 
    var dropdownValue = $("#DropDownListId").val(); 
    $("input#city").autocomplete('<%= Url.Action("Find", "City") %>' + dropdownValue + '/'); 
    }); 
</script> 

Du côté SQL Linq 2 de l'application, il est difficile de vous donner des indications précises sur la façon d'y arriver parce que nous ne savons rien au sujet de la conception de votre base de données. Mais j'imaginerais que la requête serait assez simple à écrire.

Est-ce que cela répond à votre question?

+0

hmmm ... pas exactement. J'ai vraiment besoin de savoir avec la liste déroulante sélectionnée .. :-( – AndreMiranda

+0

J'ai mis à jour la question pour inclure une façon possible d'obtenir la valeur déroulante et l'inclure dans votre appel autocomplete –

+0

heheh Pas encore ... I vraiment besoin de la partie LinqToSql ... :-(Mais, merci! – AndreMiranda