2013-05-09 15 views
6

Hier ist mein SzenarioWie Textbox Wert Action in asp.net Mvc

@Html.Textbox("value") 

wie passieren oben Textfeld Wert auf unter Aktionslink

@Html.ActionLink("Search","Search",new {firstname=value) 
+0

Wo möchten Sie das tun? Kundenseite? Nach dem Posten auf dem Server? Hast du etwas versucht, was nicht funktioniert hat? –

+0

in Controller, Server-Seite – Muralikrishna

Antwort

12

Sie können es mit Javascript tun. Zuerst erzeugen, um den Anker-Tag mit einem href einen gefälschten Wert des Vornamen mit:

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

Auch erzeugen die mit einer ID (d.h. txtSearch).

Dann können Sie mithilfe von Javascript das Click-Ereignis von diesem anhängen. Mit jQuery-Code wird etwas wie sein:

Grüße!

+0

Hallo, ich versuche, Ihren Code zu verwenden, aber ich bekomme die XXXX in meinem Controller, nicht den Wert der Textbox . Gibt es etwas, was mir fehlt? –

+4

Ok, ich habe die Lösung. Ich musste nur noch uri als lnk's href prop hinzufügen. $ ("# lnk"). prop ("href", uri); hat den Trick gemacht. –

+1

@Jain Du hast mich nur vor stundenlangem Nachdenken gerettet, warum es nicht funktioniert hat. Außerdem war .prop() in meiner Version von jquery nicht verfügbar. Ich musste .attr() für jeden anderen mit diesem Problem verwenden. Danke – Drewdin

1

Sie ein Formular verwenden müssen schicken

<form method="post" action="@Url.Action("Search", "Search")"> 
    @Html.Textbox("value") 
</form> 
+0

ist es möglich, ohne Verwendung von Formular, weil wir geplant sind, Suchfunktionalität auf der Indexseite zu implementieren ... – Muralikrishna

+2

ja, können Sie Javascript verwenden, um einen POST an die URL durchzuführen. jQuery AJAX ist dafür nützlich - http://api.jquery.com/jQuery.ajax/ – roryok

Verwandte Themen