Nous avons une page .aspx avec deux éléments HTML SELECT et nous voulons charger les pays dans une liste déroulante et charger les villes d'un pays dans l'autre. Nous utilisons un cadre d'entité pour accéder aux données.Comment lier une liste déroulante selon une autre liste déroulante sélectionnée en utilisant ajax dans aspnet webforms
J'ai essayé PageMethods et & Ajax mais je n'ai pas pu accéder à ma liste déroulante de ville à partir d'une méthode web statique. c'est ce que nous avons jusqu'à présent:
<!-- Signup.aspx-->
<select id="cmb_Region" runat="server" onchange="GetCitiesOfRegion();" datatextfield="region_title" datavaluefield="region_id"></select>
<select runat="server" id="cmb_City" datatextfield="city_title" datavaluefield="city_id" class="ui dropdown"></select>
<script type="text/javascript">
function GetCitiesOfRegion(regionId)
{
$.ajax({
url:"Signup.aspx/GetCities",
type:"POST",
data:'{}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (r) {
alert("success");
}
});
}
</script>
et ce code est en code-behind:
//Signup.aspx.cs
[WebMethod]
public static List<City> GetCities(int RegionId)
{
behbimeh_informationEntities db = new behbimeh_informationEntities();
return db.City.Where(i => i.region_id == RegionId).ToList();
}
En fait, le code est correct et je ne sais pas comment passer la cmb_region valeur sélectionnée à la webmethod ? et je ne sais pas comment lier le cmb_city à la Liste des villes retournée.
s'il vous plaît partagez vos connaissances. merci ...
pourquoi utiliser ajax au lieu du gestionnaire d'événements dans C#? – Usman
veulent être post-retour asynchrone. –
Vous devrez charger votre côté client SELECT avec javascript. effacez-le, puis chargez la liste renvoyée sous la forme d'options de liste – Stephen