2009-07-21 7 views
9

मेरे पास मेरे एचटीएमएल टेक्स्टबॉक्स बनाए गए हैं ताकि वे सर्वर पर वापस पोस्ट करते समय एक कस्टम व्यू मॉडल से बंधे रहें।क्या jQuery एएसपी.नेट एमवीसी में नियंत्रक को व्यूमोडेल का एक पोस्ट कर सकता है?

<%= Html.TextBox("CustomerFormViewModel.Email")%> 

यह पारंपरिक पोस्ट होने पर यह बहुत अच्छा काम करता है। यह jQuery के माध्यम से पोस्ट करने के लिए और अभी भी समान व्यवहार प्राप्त संभव है -

[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult AddCustomer(CustomersFormViewModel model) 
{ 
    //validate data, save customer, handle validation errors... 
} 

मैं जानना चाहता हूँ: मैं तो कुछ इस तरह से नियंत्रक की ओर इसे प्राप्त कर सकते हैं?

उत्तर

16

यह संभव है, "पारंपरिक पोस्ट" और "AJAX पोस्ट" के बीच कोई अंतर नहीं है। उदाहरण के लिए:

$.ajax({ type: "POST", 
    url: '<%= Url.Action("AddCustomer", "Customer") %>', 
    data: $('form').serialize(), 
    success: function(data, textStatus) { 
    } 
}); 
+0

यूजीन है, मैं एक कार्रवाई पद्धति के लिए एक viewmodel पोस्ट, सफलता पर एक जावास्क्रिप्ट विधि कहते हैं, और पर रहना चाहता हूँ एक ही पृष्ठ क्या यह सबसे अच्छा अभ्यास का उपयोग कर रहा है? –

+0

सही ... मैं सोच रहा था कि व्यूमोडेल को नियंत्रक को कैसे पोस्ट किया जाए और मैंने JSON.stringfy() का उपयोग किया है, लेकिन नियंत्रक डेटा स्वीकार करने में विफल रहता है। लेकिन .serialize() काम किया है। बहुत बहुत धन्यवाद। –

4

अगर मैं तुम्हें सही समझते हैं, मुझे लगता है कि यह बहुत आसान

var formData = $("#form").serialize(); 

$.post("path/to/action", formData, function(data) { //success }); 
संबंधित मुद्दे