2012-06-08 15 views
10

मैं ब्रांड सब बातों नेट के लिए नया हूँ दृश्य से पासिंग डाटा। मेरे पास एक HTML फॉर्म वाला एक बहुत ही बुनियादी वेब पेज है। मैं व्यू से नियंत्रक को फॉर्म डेटा भेजने के लिए 'सबमिट करें' चाहता हूं। मैंने इस तरह के समान पोस्ट देखे हैं लेकिन किसी के पास नए-आइश रेजर सिंटैक्स से जुड़े उत्तरों नहीं हैं। मैं 'ऑनसमेट' के साथ क्या करता हूं, और मैं नियंत्रक से डेटा कैसे प्राप्त करूं? धन्यवाद!!ASP.NET MVC 3 उस्तरा: नियंत्रक से

उत्तर

26

आप Html.Beginform में पास करना चाहते हैं आपके विचार नियंत्रण लपेट कर सकते हैं।

उदाहरण के लिए:

@using (Html.BeginForm("ActionMethodName","ControllerName")) 
{ 
... your input, labels, textboxes and other html controls go here 

<input class="button" id="submit" type="submit" value="Submit" /> 

} 

जब सबमिट बटन "ControllerName" नियंत्रक के अपने "ActionMethodName" विधि करने के लिए प्रस्तुत किया जाएगा कि Beginform की के अंदर सब कुछ दबाया जाता है।

नियंत्रक पक्ष आप इस तरह देखने से सभी प्राप्त डेटा का उपयोग कर सकते पर:

public ActionResult ActionMethodName(FormCollection collection) 
{ 
string userName = collection.Get("username-input"); 

} 

संग्रह ऊपर वस्तु अपने सभी इनपुट प्रविष्टियों कि हम रूप से प्रस्तुत शामिल होंगे।

आप भी अपने नियंत्रकों के मानकों पारित कर सकते हैं सीधे के साथ पूरे पेज भेजे बिना संग्रह [ "blah"] या collection.Get ("blah"): आपके नाम से उन तक पहुँच सकते हैं जैसे आप किसी भी सरणी का उपयोग होगा फॉर्मकॉलेक्शन:

@using (Html.BeginForm("ActionMethodName","ControllerName",new {id = param1, name = param2})) 
{ 
... your input, labels, textboxes and other html controls go here 

<input class="button" id="submit" type="submit" value="Submit" /> 

} 

public ActionResult ActionMethodName(string id,string name) 
{ 
string myId = id; 
string myName = name; 

} 

या आप इन दोनों विधियों को जोड़ सकते हैं और फॉर्मकोलेक्शन के साथ विशिष्ट पैरामीटर पास कर सकते हैं। यह आप पर निर्भर करता है।

उम्मीद है कि यह मदद करता है।

संपादित करें: जब मैं लिख रहा था अन्य उपयोगकर्ताओं के रूप में अच्छी तरह कुछ उपयोगी लिंक करने के लिए आप के लिए भेजा। जरा देखो तो।

+0

बढ़िया है, आपको बहुत बहुत धन्यवाद! –

+0

आप भी ऐसा कर सकते हैं के संयोजन के लिए: HttpContext.Request.Form [ "अनुक्रमणिका"]; इस तरह से आपको पैरामीटर में फॉर्मकोलेक्शन जोड़ने की ज़रूरत नहीं है। –

0

निम्नलिखित तरीके से एक रूप को परिभाषित करना:

@using (Html.BeginForm("ControllerMethod", "ControllerName", FormMethod.Post))

विधि "ControllerMethod" नियंत्रक "ControllerName" में करने के लिए एक फोन करना होगा। विधि में आप एक मॉडल, या आदानों के रूप में अन्य डेटा प्रकार स्वीकार कर सकते हैं। फॉर्म और रेज़र एमवीसी का उपयोग कर उदाहरणों के लिए this ट्यूटोरियल देखें।

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