2015-12-04 8 views
5

क्या मैं किसी भी तरह दृश्य घटक के अंदर फॉर्म जमा कर सकता हूं? मुझे पता है कि आंशिक विचारों के लिए यह संभव नहीं है। देखें घटक का अपना नियंत्रक है, इसलिए इस प्रश्न का लक्ष्य यह है कि यदि मैं घटक नियंत्रक द्वारा प्रस्तुत फॉर्म सबमिट करने के लिए इस नियंत्रक का उपयोग कर सकता हूं।क्या मैं एमवीसी 6 व्यू घटक जमा कर सकता हूं?

MVC6 view components docs में इसका उल्लेख नहीं है। तो यह संभव नहीं है, मुझे लगता है, लेकिन शायद मैं गलत हूं :)

उत्तर

5

आंशिक विचारों के समान, देखें घटक आपको कुछ HTML भी प्रदान कर सकते हैं। इसलिए जब तक आपके व्यू घटक द्वारा प्रस्तुत दृश्य में एक वैध फॉर्म टैग होता है, हां, आप फ़ॉर्म सबमिट कर सकते हैं।

@model YourNamespace.LoginVM 
<form asp-controller="Home" asp-action="Login"> 
    <input asp-for="Name" /> 
    <input asp-for="Password" /> 
    <input type="submit" /> 
</form> 

आप HomeController

[HttpPost] 
public ActionResult Login(LoginVM model) 
{ 
    //do something :) 
} 

यह ध्यान रखना होगा है, आप एक और रूप टैग के अंदर इस दृश्य घटक बुला नहीं किया जाना चाहिए में सुनिश्चित करें कि आप एक लॉग इन कार्रवाई विधि है बनाने की जरूरत है। सामान्य नियम है, आपको के रूप में घोंसला नहीं होना चाहिए।

<form id="main-form" asp-controller="main" asp-action="submit" method="post"> 
    <input asp-for="LocationName" /> 
    <input type="submit" /> 
</form> 

@Component.Invoke("Login") 
+0

इम सुंदर आप जब तक आप उस में एक रूप है के रूप में component.invoke – conterio

+0

का उपयोग कर डेटा पोस्ट नहीं कर सकते यकीन है, आप इसे प्रस्तुत कर सकते हैं। घटकों को अपने पृष्ठ में मार्कअप का एक हिस्सा प्रस्तुत करने के लिए कुछ भी सहायक नहीं है (आंशिक विचारों के समान)। – Shyju

+0

क्या घटक के माध्यम से फॉर्म सबमिट करने के बीच कोई अंतर होगा। इन्वोक को अजाक्स कॉल करना? मैं आंशिक विचारों को एक स्थिर सामग्री की सेवा करने वाले सर्वर के रूप में देखता हूं, जबकि व्यूकोपोनेंट्स गतिशील सामग्री की सेवा करने के लिए सर्वर को कॉल करते हैं (जैसे एक अजाक्स कॉल पूरी तरह से नया दृश्य लौटाए बिना गतिशील सामग्री लौटाता है)। क्या ये सही है?? – conterio

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