2013-01-18 50 views
6

मेरी अधिकांश वेबसाइट के लिए, मैं सामान्य मार्गिंग एमवीसी तरीके से होना चाहता हूं। हालांकि, जब ऐप पहली बार लॉन्च होता है, तो मैं नहीं चाहता कि मार्ग /Home/Index.cshtml पर जाए। मैं यह बस /index.htmlएएसपीनेट एमवीसी 4 के साथ, मैं डिफ़ॉल्ट रूप से अपना रूट index.html निष्पादित कैसे कर सकता हूं?

मेरे वर्तमान RegisterRoutes में जाना चाहते हैं इस तरह दिखता है (और मेरा लक्ष्य को प्राप्त नहीं करता)

public static void RegisterRoutes(RouteCollection routes) 
    { 
     routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 
     routes.IgnoreRoute("index.html"); 

     routes.MapRoute(
      name: "Default", 
      url: "{controller}/{action}/{id}", 
      defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
     ); 
    } 
+0

क्या मैंने एक अजीब सवाल पूछा? एक साधारण उत्तर की उम्मीद –

+3

यह उत्तर वह है जो आप चाहते हैं। http://stackoverflow.com/questions/12417437/mvc4-is-there-a-way-to-route-the-root-to-a-normal-unprocessed-html-page –

उत्तर

1

मुझे पता नहीं है अगर आप में समय इसे ध्यान में, जड़ web.config आप स्थापित करना चाहिए:

<appSettings> 
    <add key="webpages:Enabled" value="true" /> 
</appSettings> 

आप RouteConfig.cs में कुछ और की जरूरत नहीं है अगर आप जड़ में एक index.cshtml (इस फ़ाइल केवल html कोड बिल्कुल शामिल कर सकते हैं) है।

लेकिन यदि आप केवल फ़ाइल (प्रक्रिया नहीं) की सेवा करना चाहते हैं, तो मेरा मतलब है, index.html उदाहरण के लिए आपको इस फ़ाइल को प्रोजेक्ट में प्रारंभ पृष्ठ के रूप में सेट अप करने की आवश्यकता है और यह सब सबसे आसान जवाब है।

7
public ActionResult Index() { 
     string FilePath = Server.MapPath("~/index.html"); 
     // You can add other conditions also here 
     if (System.IO.File.Exists(FilePath)) { 
      return File(FilePath, "text/html"); 
     } 
     return View(); 
    } 

आशा है कि इससे मदद मिलती है!

0

अपने सभी नियंत्रकों के लिए मार्गों को परिभाषित करें और डिफ़ॉल्ट रूट निकालें:

  name: "Default", 
      url: "{controller}/{action}/{id}", 

नया डिफ़ॉल्ट index.html हो जाएगा।