2015-03-19 6 views
7

स्वीकार करने के लिए मैं इस तरह एक नियंत्रक है:Asp.net MVC नियंत्रक मूल्य या नल

public ActionResult mycontroller(int status, DateTime start, DateTime end) 
{ 
    ...stuff 
} 

और मैं इस तरह इसे कहते: आधे समय मैं फोन करने की जरूरत है

http://localhost:22200/mycontroller?status=1&start=18/03/2015&end=18/04/2015 

हालांकि, यह इस तरह है:

http://localhost:22200/mycontroller?status=1 

मैं दोनों कॉल के लिए एक ही नियंत्रक का उपयोग करना चाहता हूं।

नियंत्रक को स्वीकार करने या पैरामीटर को बदलने के लिए कोई तरीका नहीं है?

पी.एस.: मैं 2 नियंत्रकों या इस

http://localhost:22200/mycontroller?status=1&start=null&end=null 

कोई मदद वहाँ की तरह एक यूआरएल है नहीं करना चाहती? बहुत बहुत धन्यवाद।

+5

'start' करें और' end' मापदंडों '' दिनांक समय (नल) –

उत्तर

8

start और end वैकल्पिक/शून्य करने योग्य पैरामीटर नीचे दिखाए गए अनुसार बनाएं।

ActionResult Action(int status, DateTime? start = null, DateTime? end = null)

वैकल्पिक पैरामीटर कार्रवाई के लिए अनुमति देगा या नहीं, start और end क्वेरी स्ट्रिंग तर्क निर्दिष्ट कर रहे हैं की परवाह किए बिना कहा जाता है। छोड़े जाने पर, डिफ़ॉल्ट मान null का उपयोग किया जाएगा। इस प्रकार निम्न URL के दोनों मान्य होगा:

http://localhost:22200/mycontroller?status=1

http://localhost:22200/mycontroller?status=1&start=18/03/2015&end=18/04/2015

+5

FYI करें, डिफ़ॉल्ट '? = शून्य 'जरूरी नहीं है। जरूरी है कि गैर-शून्य 'डेटटाइम' के बजाय 'डेटटाइम' 'nullable पैरामीटर है। – Fendy

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