2011-07-14 14 views
5

मैं टेक्स्टबॉक्स का मान एक्शनलिंक के पैरामीटर के रूप में कैसे भेज सकता हूं?एमवीसी अजाक्स के लिए पैरामीटर पास करना। एक्शनलिंक

मैं Html.TextBoxFor

<%= Html.TextBoxFor(m => m.SomeField)%> 
<%= Ajax.ActionLink("Link Text", "MyAction", "MyController", new { foo = "I need here the content of the textBox, I mean the 'SomeField' value"}, new AjaxOptions{ UpdateTargetId = "updateTargetId"})%> 

Contoller उपयोग करने की आवश्यकता/कार्रवाई इस तरह दिखता है:

public class MyController{ 
    public ActionResult MyAction(string foo) 
    {  
     /* return your content */ 
    } 
} 

MVC 2,0

+0

आपका जवाब: http://stackoverflow.com/questions/2595830 इस मामले में यहाँ तुम क्या कर सकता है/गुजरने-एकाधिक-पैरामीटर-इन-एन-एमवीसी-एजेक्स-एक्शनलिंक – AmirHossein

उत्तर

7

का उपयोग करते हुए मैं का मूल्य कैसे भेज सकते हैं टेक्स्टबॉक्स को एक्शनलिंक के पैरामीटर के रूप में?

इनपुट किसी सर्वर के लिए (जैसे बक्सें के रूप में) मान-प्रांगण भेजने का शब्दार्थ सही तरीका एक एचटीएमएल का उपयोग कर <form> और नहीं लिंक के द्वारा होता है:

<% using (Ajax.BeginForm("MyAction", "MyController", new AjaxOptions { UpdateTargetId = "updateTargetId" })) { %> 
    <%= Html.TextBoxFor(m => m.SomeField) %> 
    <input type="submit" value="Link Text" /> 
<% } %> 
अब आप अपने नियंत्रक कार्रवाई में

आप स्वचालित रूप से मिल जाएगा उपयोगकर्ता द्वारा दर्ज SomeField इनपुट के मूल्य:

public class MyController: Controller 
{ 
    public ActionResult MyAction(string someField) 
    {  
     /* return your content */ 
    } 
} 

आप निश्चित रूप से मार्कअप अर्थ विज्ञान और जिस तरह से एचटीएमएल उल्लंघन करने के लिए कोशिश कर सकते में से काम करने के लिए माना जाता है ActionLink का उपयोग करने पर भी गलत है, भले ही यह गलत हो।

<%= Html.TextBoxFor(m => m.SomeField) %> 
<%= Html.ActionLink("Link Text", "MyAction", "MyController", null, new { id = "myLink" }) %> 

और फिर एक अलग JavaScript फ़ाइल unobtrusively AJAXify इस लिंक jQuery का उपयोग करने में:

$(function() { 
    $('#myLink').click(function() { 
     var value = $('#SomeField').val(); 
     $('#updateTargetId').load(this.href, { someField: value }); 
     return false; 
    }); 
}); 
+0

नमस्ते, आप $ (फ़ंक्शन() {क्यों नहीं? $ ('# myLink') क्यों नहीं उपयोग करते हैं। सीधे क्लिक करें? $ (दस्तावेज़) .on ('क्लिक करें', '#myLink', फ़ंक्शन() एक ही चीज़? धन्यवाद – Patrick

संबंधित मुद्दे