Tu jest mój scenariuszJak wysłać wartość tekstowego do actionlink w ASP.NET MVC
@Html.Textbox("value")
jak przekazać powyżej wartości pola tekstowego poniżej linku działania
@Html.ActionLink("Search","Search",new {firstname=value)
Tu jest mój scenariuszJak wysłać wartość tekstowego do actionlink w ASP.NET MVC
@Html.Textbox("value")
jak przekazać powyżej wartości pola tekstowego poniżej linku działania
@Html.ActionLink("Search","Search",new {firstname=value)
Możesz to zrobić za pomocą javascript. generować najpierw taga z href o sfałszowane wartość Imię:
<a href="@Url.Action("Search", "Controller", new {firstname="xxxx"}") id="lnk">Search</a>
również wygenerować z identyfikatorem (tj txtSearch).
Następnie za pomocą javascript można załączyć zdarzenie click tego. Użycie kodu jQuery będzie wyglądało następująco:
$("#lnk").click(function(evt) {
var fakedUri = $("#lnk").prop("href");
var uri = fakedUri.replace("xxxx", $("#txtSearch").val());
});
Pozdrowienia!
Witam, próbuję użyć Twojego kodu, ale otrzymuję XXXX w moim kontrolerze, a nie wartość pola tekstowego . czy jest coś, czego mi brakuje? –
Ok Mam rozwiązanie. Potrzebowałem tylko dodać uri jako lnk's href prop. $ ("# lnk"). prop ("href", uri); zrobił lewy. –
@Jeżeli właśnie uratowałeś mnie od godzin zastanawiania się, dlaczego to nie zadziałało. Ponadto, .prop() nie była dostępna w mojej wersji jquery, musiałem użyć .attr() dla każdego innego z tym problemem. Dzięki – Drewdin
Trzeba użyć formularza
<form method="post" action="@Url.Action("Search", "Search")">
@Html.Textbox("value")
</form>
jest możliwe bez użycia formularza, ponieważ planujemy wprowadzić funkcję wyszukiwania na stronie indeksu ... – Muralikrishna
tak, możesz użyć Javascript, aby wykonać POST do adresu URL. jQuery AJAX jest przydatna do tego - http://api.jquery.com/jQuery.ajax/ – roryok
Gdzie chcesz to zrobić? Strona klienta? Po zamieszczeniu na serwerze? Czy próbowałeś czegoś, co nie zadziałało? –
w kontrolerze, po stronie serwera – Muralikrishna