मैं एक साधारण कार्रवाई पोस्ट कर रहा हूं।को एएसपीनेट एमवीसी पर फॉर्मकोलेक्शन खाली होना चाहिए अनुरोध
public void Login(FormCollection formCollection)
{
...
}
यहां तक कि कुछ क्वेरी स्ट्रिंग मूल्यों के साथ
, formcollection.Count
है। क्या यह व्यवहार से है?
यदि आपकी कार्रवाई वास्तव में "सरल" है, तो आप केवल प्रत्येक चर के लिए कार्रवाई तर्क क्यों नहीं घोषित करते हैं, जिसमें आप पारित होने की उम्मीद करते हैं? एमवीसी फ्रेमवर्क स्वचालित रूप से आपके लिए उन चरों को बांध देगा जिसका अर्थ है कि (1) यह इस बात पर ध्यान दिए बिना कि वेरिएबल मार्ग, यूआरएल, या फॉर्म डेटा में पारित किया गया है या नहीं (और) यह आपके कोड को पढ़ने के लिए बहुत आसान बनाता है , समझें, और परीक्षण करें। अधिकांश मामलों में एक तर्क के लिए "फॉर्मकोलेक्शन" पास करना एक विरोधी पैटर्न है और इससे बचा जाना चाहिए। –
@ सेठ - क्या होगा अगर विधि एक AJAX अनुरोध हैंडलर है? उस स्थिति में, यदि पैरामीटर विकृत या अनुपलब्ध है तो मैं एएसपी.NET त्रुटि पृष्ठ की बजाय एक उचित जेसन (नया {सफलता = झूठी, errorMsg = "..."}) वापस कर दूंगा। –