2011-06-26 14 views
7

http://mysite.com/controller/action/123/name-of-article जैसे यूआरएल में, मार्ग को परिभाषित करने का कोई तरीका है ताकि '123/नाम-का-लेख' भाग स्ट्रिंग के रूप में पारित किया जा सके?स्लैश

उत्तर

13

आप एक वाइल्डकार्ड मार्ग बना सकते हैं:

MapRoute("{controller}/{action}/{*id}") 
0

मुझे यकीन है कि क्या अपनी आवश्यकताओं हैं नहीं हूँ, लेकिन क्या आप वाकई नियंत्रक से लेख का नाम पास करना चाहते हैं? क्या आप आईडी प्राप्त करने से बेहतर होंगे, फिर नाम प्राप्त करने के लिए डेटाबेस से चयन करें?

आप अभी भी http://mysite.com/controller/action/123/name-of-article जैसी URL के लिए, लेकिन केवल में आईडी पारित आप इस

routes.MapRoute(
       "MyNewRoute",   // Route name 
       "articles/edit/{id}/{name}",  // URL 
       new { controller = "Articles", action = "Edit", id = "" }, // Defaults 
       new[] { "YourApp.UI.Controllers" }      // Namespaces 
      ); 

फिर अपने नियंत्रक कार्रवाई की तरह एक मार्ग का उपयोग कर सकते हैं चाहता था

public ActionResult Edit(int id) 
{ 

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