asp.net mvc 5 - MVC 5 Routing and Optional Parameters -


मेरे पास निम्न नियंत्रक और मार्ग परिभाषा है

 < कोड> [System.Web.Mvc.Route ("उपयोगकर्ता / {प्रथम नाम}} / {अंतिम नाम}} / {ईमेल पता /} पृष्ठ {आकार: इंट = 10} / {पृष्ठ संख्या: int = 1}", नाम = रूट नाम User_Listing)] सार्वजनिक ActionResult सूचकांक (स्ट्रिंग प्रथम नाम = रिक्त, स्ट्रिंग lastName = शून्य, स्ट्रिंग ईमेल पता = नल, int पृष्ठ संख्या संख्या 1, इंट पेजसिज़न = 10)  

मुझे क्या चाहिए इन्हें अपरिभाषित या परिभाषित होना चाहिए और इसलिए ये सभी मान्य होंगे

  उपयोगकर्ता / प्रथम / अंतिम / ईमेल उपयोगकर्ता / अंतिम / ईमेल / 30/2 उपयोगकर्ता / अंतिम / 1 उपयोगकर्ता  < / Pre> 

समस्या है, MVC कैसे मापदंडों को निर्दिष्ट किया गया है? यह नहीं है!

जब मेरे पास यह लिंक होता है

  @ html.route लिंक ("उपयोगकर्ता बनाए रखें", रूट नाम। यूज़र_लिस्टिंग)  
< P> यह इस एक्शन मेथड पर नेविगेट नहीं करता है। मैं क्या करूं?

आप सही हैं, एमवीसी नहीं जानी जाएगी बाएं-सबसे पैरामीटर "सबसे ज्यादा जरूरी" है। इसका मतलब यह है कि आप {email} निर्दिष्ट नहीं कर सकते हैं {firstName?} / {LastName?} /

हालांकि, आप इसे विभिन्न स्वरूपों से मेल करने के लिए बाध्य कर सकते हैं लेकिन सिर्फ ध्यान रखें कि पहले मैच MVC यह पाता है कि इसे चलाना होगा (और अगर इसका अर्थ है ईमेल पता में पहलेनाम फ़ील्ड, यह होगा। (हालांकि आप उस मापदंडों के लिए एक ईमेल बाधा जोड़ सकते हैं, यह मैच *@*.* (या कुछ प्रतिकृति) से बचने के लिए)।

मैं या तो फिर से मूल्यांकन करूँगा कि आप मार्ग कैसे चाहते हैं या मूल जानकारी को यूआरएल (पेजिंग) में डालने पर विचार करें, और वैकल्पिक पैरामीटर को क्वेरी के रूप में रखें स्ट्रिंग मान। जैसे

  उपयोगकर्ता / 30/2? प्रथमनाम = ___ और अंतिम नाम = ___ उपयोगकर्ता / 30/2? ईमेल पता = ___ और अंतिम नाम = ___ उपयोगकर्ता / 30/2? प्रथम नाम = ___ & amp; ईमेल पता = ____ और अंतिम नाम = ___  

Comments