80 messaggi dal 17 maggio 2011
Ciao a tutti,

Dato che mi sono rotto di continuare a riscrivere la stessa funzione ajax per chiamare una action sto iniziando a fare in questo modo:
Ho creato un file ProvinceCityAjaxFilter.js dove al suo interno ho messo il seguente script
$('#provinceIdFilter').change(function () {
    var selectedProvince = $("#provinceIdFilter").val();
    var citySelect = $('#cityIdFilter');
    citySelect.empty();
    if (selectedProvince != null && selectedProvince != '') {
        $.getJSON('Cities/GetCitiesFromProvince', { provinceIdFilter: selectedProvince }, function (cities) {
            if (cities != null && !jQuery.isEmptyObject(cities)) {
                citySelect.append($('<option/>', {
                    value: null,
                    text: ""
                }));
                $.each(cities, function (index, cities) {
                    //console.log(cities.id);
                    citySelect.append($('<option/>', {
                        value: cities.id,
                        text: cities.name
                    }));
                });
            };
        });
    }
});


Nella mia View poi lo richiamo in questo modo.

@section Scripts {
    <script src="~/js/ProvinceCityAjaxFilter.js"></script>
}



L'unico vincolo che ho è che i campi si devono chiamare nello stesso modo.
Ma prendendo un esempio di caso standard dove selezionata la provincia devo caricare le città diciamo che nel 99,99% dei casi sarà così.

Voi come gestite situazioni analoghe?

Ciao
Paolo
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao Paolo,
potresti mettere sia il campo che il suo codice javascript all'interno di una partial view o di un view component. In questo modo, ogni volta che vuoi visualizzare il selettore della provincia, ti basterà richiamare la partial view nel punto in cui vuoi che il selettore appaia.

Sia le partial view che i view component possono avere un model, quindi ti permettono di fornire l'id dall'esterno, nel caso in cui volessi personalizzarlo (es. due selettori di provincia nella stessa pagina).

ciao,
Moreno

Enjoy learning and just keep making
80 messaggi dal 17 maggio 2011
Cavoli hai assolutamente ragione, è una soluzione nettamente migliore.
In questo modo neanche la view vado a riutilizzare.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.