2013-05-09 16 views

risposta

12

È possibile farlo utilizzando javascript. In primo luogo generare il tag di ancoraggio con un href con un valore falso di cognome:

<a href="@Url.Action("Search", "Controller", new {firstname="xxxx"}") id="lnk">Search</a> 

Inoltre, generare il con un ID (vale a dire txtSearch).

Quindi, utilizzando javascript è possibile allegare l'evento click di questo. Utilizzando il codice jQuery sarà qualcosa di simile:

$("#lnk").click(function(evt) { 
    var fakedUri = $("#lnk").prop("href"); 
    var uri = fakedUri.replace("xxxx", $("#txtSearch").val()); 
}); 

Saluti!

+0

Ciao, sto cercando di usare il tuo codice, ma sto ricevendo il XXXX nel mio controller, non il valore della casella di testo . c'è qualcosa che mi manca? –

+4

Ok ho trovato la soluzione. Avevo solo bisogno di aggiungere uri come nuovo prop di lnk. $ ("# lnk"). prop ("href", uri); ha fatto il trucco –

+1

@Jain mi hai appena salvato da ore di chiedermi perché non ha funzionato. Inoltre, .prop() non era disponibile nella mia versione di jquery, dovevo usare .attr() per chiunque altro con questo problema. Grazie – Drewdin

1

è necessario utilizzare un modulo

+0

è possibile uscire utilizzando il modulo, poiché si prevede di implementare la funzionalità di ricerca nella pagina dell'indice ... – Muralikrishna

+2

sì, è possibile utilizzare Javascript per eseguire un POST nell'URL. jQuery AJAX è utile per questo - http://api.jquery.com/jQuery.ajax/ – roryok

Problemi correlati