2009-07-17 12 views
5

पर अनावश्यक जानकारी जोड़ना जैसा कि आप इस प्रश्न पर आते हैं, आपको पता चलेगा कि प्रश्न का शीर्षक पता बार में है और जिस लिंक पर आपने क्लिक किया है, वह यहां है। मुझे यकीन नहीं है कि सटीक शब्दावली को खोजना मुश्किल हो गया है लेकिन मैं ऐसा कुछ कैसे कर सकता हूं? यही है, मैं पता बार में डेटा कैसे जोड़ सकता हूं जो पूरी तरह शो/सर्च इंजन के लिए है।एक एमवीसी रूट

धन्यवाद

उत्तर

6

यह एक यूआरएल है की तरह एक स्टैक ओवरफ़्लो सवाल का उदाहरण लें:

so.com/questions/1142480/adding-redundant-information-to-a-mvc-route

हालांकि, URL के कार्यात्मक हिस्सा है:

so.com/questions/1142480

जिस तरह से यह हासिल किया गया है, इस तरह के मार्ग को परिभाषित करना है:

routes.MapRoute(
    "questions", 
    "questions/{id}/{title}", 
    new { controller = "Questions", action = "Details", title = "" }); 

फिर आप इस तरह यह करने के लिए एक लिंक बनाने:

<%= Html.RouteLink("Adding Redundant Information to a MVC Route", 
     new 
     { 
      controller = "Questions", 
      id = 1142480, 
      title = "adding-redundant-information-to-a-mvc-route" 
     } 
    ) 
%> 

मैं कल्पना कर सकते हैं यूआरएल शीर्षक कम आवरण द्वारा वास्तविक शीर्षक से बनाई गई है, डैश के साथ रिक्त स्थान और अन्य चीजों के एक जोड़े की जगह (बुरे पात्रों से बच/पट्टी)।

जब तक आपका एसईओ मार्ग किसी अन्य मिलान मार्ग से पहले प्रकट होता है तो एसईओ मार्ग का उपयोग किया जाएगा।

पूरा स्पष्टता के लिए नियंत्रक वास्तव में इस तरह होगा:

public class QuestionsController : Controller 
{ 
    public ActionResult Details(int id) 
    { 
     // stuff for display - notice title is not used 
    } 
} 
+0

चीयर्स, यह किया गया :) – Damien

+0

खुशी है कि मैं –

2

एक बात आपको पता होना चाहिए कि इस URL के अंत में पाठ वास्तव में एक डमी है। उदाहरण के लिए, इस यूआरएल:

सफाई से इस सवाल का खुल जाएगा। इसी तरह, एक शीर्षक अपने प्रश्न के अलावा अन्य:

भी इस सवाल का त्रुटियों के बिना खुल जाएगा।

आप शीर्षक के साथ पूरा करने के लिए "एसईओ फ्रेंडली" यूआरएल उत्पन्न करने के लिए आसानी से कुछ शीर्षक-पार्सिंग एल्गोरिदम का उपयोग कर सकते हैं, और इसे प्रश्न संख्या के अंत में जोड़ सकते हैं। आपका एमवीसी मार्ग सिर्फ अंतिम भाग को अनदेखा कर देगा।

+0

जानकारी के लिए चीयर्स की मदद कर सकता हूं :) – Damien