2010-01-13 12 views
6

एक एमवीसी मार्ग बाधा के लिए एक वैध regex क्या होगा एक बूल गुजर रहा है? उदाहरण के लिए, मैं नीचे मार्ग है:बूल के लिए एमवीसी रूट बाधा

routes.MapRoute("MenuRouteWithExtension", 
    "Menu.mvc/{action}/{projectId}/{dealerId}/{isGroup}", 
    new { controller = "Menu", action = "RedirectUrl", 
      projectId = "", dealerId = "", isGroup = "" } 
    new { projectId = @"\d+", dealerId = @"\d+", isGroup = @"???" }); 

असल में, मुझे पता है कि क्या के स्थान पर मान्य होगा की जरूरत है ??? उपरोक्त कोड उदाहरण में।

public ActionResult RedirectUrl(int projectId, int dealerId, bool isGroup) 

आपके इनपुट के लिए अग्रिम रूप से धन्यवाद:

इस तरह, दूसरे छोर पर कार्रवाई की तरह bool प्रकार का उपयोग कर सकते हैं।

उत्तर

17
isGroup = @"^(true|false)$" 

तो ...

routes.MapRoute(
    "MenuRouteWithExtension", 
    "Menu.mvc/{action}/{projectId}/{dealerId}/{isGroup}", 
    new 
    { 
    controller = "Menu", 
    action = "RedirectUrl", 
    projectId = "", 
    dealerId = "", 
    isGroup = "" //Possibly set this to 'true' or 'false'? 
    }, 
    new 
    { 
    projectId = @"^\d+$", 
    dealerId = @"^\d+$", 
    isGroup = "^(true|false)$" 
    } 
); 

आवरण कोई फर्क नहीं करना चाहिए, ताकि TruefalSE के रूप में स्वीकार किया जाना चाहिए, साथ ही।

इसके अलावा, मैंने ^ और $ को रेगेक्स मानों पर रखा है ताकि वे मेल नहीं खा सकें, उदाहरण के लिए blahtrueblah

+2

डीलर आईडी = @ "^ \ d $ +" नहीं होना चाहिए, डीलर आईडी = @ "^ \ डी + $" हो, बस अंतिम 2 अक्षर – BlackTigerX

+0

@ ब्लैक टाइगरएक्स स्विच करें: हाँ! एक को इंगित करने के लिए धन्यवाद! –

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