Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
Atocompletamento in asp.net mvc
lunedì 13 luglio 2009 - 12.09
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
sanfra
Profilo
| Junior Member
137
messaggi | Data Invio:
lun 13 lug 2009 - 12:09
Salve, stavo cercando di creare un Textbox che mi facesse da autocompletamento mentre scrivo e questo in asp.net mvc e jquery.
Ho visto miriade di esempi sulla rete, e così ho pensato di adattare uno di questi esempi al mio progetto.
La prima cosa che vado a fare è quella di scaricare l'tulima versione di "jquery.autocomplete.js" e la implemento nella cartella Scripts nel mvc.
Dopodichè creo un collegamento nel file .master in modo che si veda su tutto il progetto.
Mi vado a creare una classe nel model che mi prende i dati da Linq To Sql e mi faccio ritornare tutta la tabella con la dicitura
Codice:
public static IQueryable<Country> GetRegionCapByID()
{
return dbcomuni.Country;
}
Dopo mi creo il mio controller CityController e all'interno di quest'ultimo ho la mia action:
Codice:
public ActionResult Find(string r)
{
var regioni = from rc in DataComuni.GetRegionCapByID()
where rc.Regione == r
select new { rc.Regione };
return Json(regioni);
}
A questo punto nella View Index del controller Home mi vado ad inserire il controllo <%= Html.TextBox %>
e infine inserico nel file global.asax
la route:
Codice:
routes.MapRoute(
"FindRegionCap",
"Find/{r}",
new { controller = "City", action = "Find", id = "" });
non mi dà nessun errore però non mi dà neppure il risultato che dovrebbero essere ile regioni nel mio db.
P.S.: vi posto anche il codice javascript che io ho in parte copiato, in parte modificato per le mie esigenze:
Codice:
<script type="text/javascript">
$(document).ready(function(){
$("input#city").autocomplete('<%=Url.Action("Find", "City") %>',
{
dataType: 'json',
parse: function(data)
{
var rows = new Array();
for(var i=0; i<data.length; i++)
{
rows[i] = { data:data[i],
value:data[i].Regioni,
result:data[i].Regioni
};
}
return rows; }});
});
</script>
Volevo aggiungere che quando faccio il debug sul controller lil parametro r della funzione lato server è null.
Grazie e spero di avere al più presto un vostro aiuto.
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !