url routing - Serving HTML or ASPX files with ASP.NET MVC -


मैं यूआरएल को लागू करना चाहता हूं जैसे:

  www.domain.com/Business/Manufacturing / श्रेणी / उत्पाद 1  

यह विशिष्ट उत्पाद का विवरण देगा (जैसे विनिर्देश) श्रेणियों की सूची और amp; प्रत्येक श्रेणी में उत्पाद सीमित हैं, मैंने सोचा कि उत्पादों के लिए डेटाबेस का उपयोग करने के लायक नहीं है।

इसलिए मैं इसे एचटीएमएल या एएसपीएक्स फ़ाइलों का उपयोग कर कार्यान्वित करना चाहता हूं। इसके अलावा, मुझे यूआरएल को फाइल एक्सटेंशन के बिना होना चाहिए (यानी यूआरएल के पास। Html या .aspx एक्सटेंशन नहीं होना चाहिए)

मैं इसे एएसपी.नेट एमवीसी के साथ कैसे लागू कर सकता हूं? क्या मुझे उसमें एचटीएमएल / एएसपीएक्स फाइलों के साथ नेस्टेड फ़ोल्डर संरचना का उपयोग करना चाहिए, ताकि यह यूआरएल के अनुरूप हो? तो यूआरएल में विस्तार से कैसे बचें? मैं इन विचारों से भ्रमित हूं

एस्प.net एमवीसी माइक्रोसॉफ्ट से रूटिंग लायब्रेरी का उपयोग करता है। तो फ़ोल्डर संरचना या फ़ाइल एक्सटेंशन के बारे में सोचने के बिना इस तरह की संरचना को प्राप्त करना बहुत आसान है। Asp.new mvc के साथ आप एक विशिष्ट फ़ाइल पर अनुरोध नहीं बताते हैं इसके बजाय आप एक ऐसी क्रिया को इंगित करते हैं जो अनुरोध को संभालता है और क्लाइंट को प्रस्तुत करने और भेजने का निर्धारण करने के लिए पैरामीटर का उपयोग करता है। अपने उदाहरण को कार्यान्वित करने के लिए आप ऐसा कुछ कर सकते हैं:

  _routes.MapRoute ("उत्पाद", "व्यापार / विनिर्माण / श्रेणी / उत्पाद {आईडी}", नया {नियंत्रक = "उत्पाद" कार्रवाई = "विवरण", आईडी = ""});  

यह मार्ग आपके द्वारा वर्णित और "उत्पादक नियंत्रक" नामक एक नियंत्रक पर "विवरण" नामक क्रिया को वर्णित यूआरएल से मेल खाएगा (यदि आप डिफ़ॉल्ट सेटिंग्स का उपयोग कर रहे हैं)। यह क्रिया कुछ इस तरह से दिखाई दे सकती है:

  सार्वजनिक कार्यवाही विवरण विवरण (आंतरिक आईडी) {वापसी दृश्य (स्ट्रिंग.फॉर्मेट ("उत्पाद {0}", आईडी);}   

यह क्रिया तब उत्पाद के आईडी पर निर्भर करता है (आपके उदाहरण यूआरएल के अंत में "उत्पाद" के बाद की संख्या) के आधार पर विचार प्रस्तुत करना होगा। यदि आप डिफ़ॉल्ट का उपयोग करते हैं तो यह दृश्य दृश्य / उत्पाद फ़ोल्डर में स्थित होना चाहिए उसके बाद अगर आप उस फ़ोल्डर में "Product1.aspx" नाम से एक दृश्य जोड़ते हैं, तो वह ऐसा दृश्य होता है, जब आप अपने उदाहरण में यूआरएल पर जाते हैं।

यह सब करना बहुत मुश्किल है इस तरह से मैं इसके खिलाफ दृढ़ता से अनुशंसा करूंगा.आपको बहुत कुछ डुप्लिकेट काम करना होगा, भले ही आपके पास केवल कुछ उत्पाद हों और आइआइअल विचारों का उपयोग इयूआई नकल को कम करने के लिए करें। मैं आपको एक डेटाबेस का उपयोग करने की सलाह देता हूं या आपके लिए उत्पाद के लिए कुछ अन्य प्रकार का भंडारण और उत्पाद को रेंडर करने के लिए टेम्पलेट के रूप में एक एकल दृश्य का उपयोग करें। आप इसके लिए उसी मार्ग का उपयोग कर सकते हैं। आप केवल अपनी कार्रवाई को थोड़ी सी में बदल सकते हैं। ओक कुछ ऐसा है:

  सार्वजनिक कार्यवाही विवरण विवरण (इंट आईडी) {var product = // प्राप्त करें डेटाबेस से आईडी से उत्पाद प्राप्त करें या कुछ और दृश्य देखें (उत्पाद); }  

इस तरह से आप दृढ़ता से एक उत्पाद ऑब्जेक्ट के लिए अपने प्रकार का टाइप कर सकते हैं और आपको उस डुप्लिकेशन की आवश्यकता नहीं होगी।

रूटिंग इंजन बहुत लचीला है, और जब आप इसके चारों ओर खेला है और सीखा है कि यह कैसे काम करता है, आप अपने यूआरएल को किसी भी तरह से बदल सकते हैं जैसे कि आप किसी भी अन्य कोड को बदलने या किसी भी फाइल को बदलने के बिना चाहते हैं।


Comments

Popular posts from this blog

oracle - The fastest way to check if some records in a database table? -

php - multilevel menu with multilevel array -

jQuery UI: Datepicker month format -