मैं एक बहुत, बहुत ही सरल "माइक्रो-वेबैप" बनाने की कोशिश कर रहा हूं, जो मुझे संदेह है कि कुछ स्टैक ओवरफ्लो के लिए ब्याज की होगी यदि मैं कभी भी इसे प्राप्त करता हूं। मैं इसे अपने C # में गहराई साइट पर होस्ट कर रहा हूं, जो कि वैनिला ASP.NET 3.5 है (यानी MVC नहीं)।
प्रवाह बहुत सरल है:
- यदि कोई उपयोगकर्ता किसी ऐसे URL के साथ ऐप में प्रवेश करता है जो सभी मापदंडों को निर्दिष्ट नहीं करता है (या यदि उनमें से कोई भी अमान्य है) तो मैं उपयोगकर्ता इनपुट नियंत्रणों को प्रदर्शित करना चाहता हूं। (केवल दो हैं।)
- यदि कोई उपयोगकर्ता किसी ऐसे URL के साथ ऐप में प्रवेश करता है जिसमें सभी आवश्यक पैरामीटर हैं, तो मैं परिणाम और इनपुट नियंत्रण प्रदर्शित करना चाहता हूं (इसलिए वे मापदंडों को बदल सकते हैं)
यहाँ मेरी स्व-आवेधित आवश्यकताएं हैं (डिजाइन और कार्यान्वयन का मिश्रण):
- मैं पोस्ट के बजाय GET का उपयोग करने के लिए सबमिशन चाहता हूं, ज्यादातर उपयोगकर्ता पृष्ठ को आसानी से बुकमार्क कर सकते हैं।
- मैं नहीं चाहता कि URL प्रस्तुत करने के बाद मूर्खतापूर्ण रूप से समाप्त हो जाए, उस पर बाहरी बिट्स और टुकड़ों के साथ। बस मुख्य URL और वास्तविक पैरामीटर कृपया।
- आदर्श रूप से मैं जावास्क्रिप्ट की आवश्यकता से बचना चाहता हूँ। इस ऐप में इसका कोई अच्छा कारण नहीं है।
- मैं रेंडर समय और सेट मान आदि के दौरान नियंत्रणों का उपयोग करने में सक्षम होना चाहता हूं। विशेष रूप से, मैं नियंत्रण के डिफ़ॉल्ट मानों को पारित किए गए पैरामीटर मानों में सेट करने में सक्षम होना चाहता हूं, अगर ASP.NET स्वचालित रूप से ऐसा नहीं कर सकता है। मेरे लिए (अन्य प्रतिबंधों के भीतर)।
- मैं खुद को सभी पैरामीटर सत्यापन करने के लिए खुश हूं, और मुझे सर्वर साइड घटनाओं के तरीके की ज्यादा जरूरत नहीं है। बटन आदि की घटनाओं को संलग्न करने के बजाय पृष्ठ लोड पर सब कुछ सेट करना वास्तव में सरल है।
इसमें से अधिकांश ठीक है, लेकिन मैंने व्यूस्टेट को पूरी तरह से हटाने और बाकी उपयोगी कार्यक्षमता को बनाए रखने का कोई तरीका नहीं पाया है । इस ब्लॉग पोस्ट से पोस्ट का उपयोग करते हुए मैंने व्यूस्टेट के लिए कोई वास्तविक मूल्य प्राप्त करने से बचने में कामयाब रहा है - लेकिन यह अभी भी URL पर एक पैरामीटर के रूप में समाप्त होता है, जो वास्तव में बदसूरत दिखता है।
अगर मैं इसे ASP.NET फॉर्म (यानी बाहर निकालता runat="server"
हूं) के बजाय एक सादा HTML फॉर्म बनाता हूं, तो मुझे कोई जादू देखने को नहीं मिलता है - लेकिन फिर मैं प्रोग्राम को नियंत्रित रूप से एक्सेस नहीं कर सकता।
मैं ASP.NET की अधिकांश अनदेखी करके और LINQ से XML के साथ XML दस्तावेज़ का निर्माण और कार्यान्वयन करके यह सब कर सकता थाIHttpHandler
। हालांकि यह थोड़ा निम्न स्तर का लगता है।
मुझे एहसास है कि मेरी समस्याओं को या तो मेरी बाधाओं को दूर करने के द्वारा हल किया जा सकता है (जैसे कि POST का उपयोग करना और अधिशेष पैरामीटर की देखभाल नहीं करना) या ASP.NET MVC का उपयोग करके, लेकिन क्या मेरी आवश्यकताएं वास्तव में अनुचित हैं?
हो सकता है कि ASP.NET सिर्फ पैमाने पर नहीं है नीचे एप्लिकेशन की इस तरह के लिए? हालांकि यह एक बहुत ही संभावित विकल्प है: मैं सिर्फ बेवकूफ हूं, और ऐसा करने का एक बिल्कुल सरल तरीका है जो मुझे अभी तक नहीं मिला है।
कोई विचार, कोई भी? (क्यू टिप्पणी कैसे शक्तिशाली गिर रहे हैं, आदि। यह ठीक है - मुझे आशा है कि मैंने कभी भी ASP.NET विशेषज्ञ होने का दावा नहीं किया है, क्योंकि सच्चाई काफी विपरीत है ...)