2013-05-09 9 views
6

यहाँ में ActionLink के पाठ बॉक्स मूल्य भेजने के लिए कार्रवाई लिंक नीचे करने के लिए पाठ बॉक्स मूल्य से ऊपर पारित करने के लिए कैसे मेरे परिदृश्यकैसे asp.net MVC के

@Html.Textbox("value") 

है

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

आप यह कहां करना चाहते हैं? ग्राहक की ओर? सर्वर पर पोस्ट करने के बाद? क्या आपने कुछ भी काम नहीं किया है जिसने काम नहीं किया है? नियंत्रक में –

+0

, सर्वर पक्ष – Muralikrishna

उत्तर

12

आप इसे जावास्क्रिप्ट का उपयोग करके कर सकते हैं। पहले firstname के एक नाटक मूल्य होने एक href के साथ लंगर टैग तैयार:

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

इसके अलावा, एक आईडी (अर्थात txtSearch) के साथ उत्पन्न करते हैं।

फिर, जावास्क्रिप्ट का उपयोग करके आप इस पर क्लिक ईवेंट संलग्न कर सकते हैं। JQuery कोड का उपयोग कुछ ऐसा होगा:

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

नमस्ते!

+0

हाय, मैं आपके कोड का उपयोग करने की कोशिश कर रहा हूं, लेकिन मुझे अपने नियंत्रक में XXXX मिल रहा है, टेक्स्टबॉक्स का मूल्य नहीं । क्या मुझे कुछ याद आ रही है? –

+4

ठीक है मुझे समाधान मिला। मुझे बस यूरी को lnk के href prop के रूप में जोड़ने की आवश्यकता है। $ ("# एलएनके")। प्रोप ("href", यूरी); चाल चल चुकी है –

+1

@ जैन आपने मुझे आश्चर्यचकित करने के घंटों से बचाया कि यह क्यों काम नहीं कर रहा था। इसके अलावा, .prop() jquery के मेरे संस्करण में उपलब्ध नहीं था, मुझे इस मुद्दे के साथ किसी और के लिए .attr() का उपयोग करना पड़ा। धन्यवाद – Drewdin

1

आप एक फार्म का उपयोग करने की आवश्यकता है

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

फॉर्म का उपयोग करना संभव है, क्योंकि हम इंडेक्स पेज पर खोज कार्यक्षमता को लागू करने की योजना बना रहे हैं ... – Muralikrishna

+2

हाँ, आप यूआरएल में पोस्ट करने के लिए जावास्क्रिप्ट का उपयोग कर सकते हैं। jQuery AJAX इस के लिए उपयोगी है - http://api.jquery.com/jQuery.ajax/ – roryok