आप ASP.NET MVC अनुप्रयोग में डीबगिंग के लिए स्टार्टअप पृष्ठ कैसे सेट करते हैं?


131

आप एप्लिकेशन रूट पर एप्लिकेशन को डिबग करना कैसे शुरू करते हैं? उदाहरण के लिए: http: // localhost: 49742 /

मुझे हमेशा एक ऐसा पेज मिल रहा है, जो मौजूद नहीं है, जैसे: http: // localhost: 49742 / Views / Home / About.aspx

ध्यान दें कि http: // localhost: 49742 / Views / Home / के बारे में शुरू करना ठीक होगा


जवाबों:


218

अपनी परियोजना के गुणों पर जाएं और प्रारंभ पृष्ठ संपत्ति सेट करें।

  1. परियोजना के गुणों पर जाएं
  2. वेब टैब पर जाएं
  3. विशिष्ट पृष्ठ रेडियो बटन का चयन करें
  4. विशिष्ट पृष्ठ टेक्स्ट बॉक्स में वांछित url टाइप करें

1
@ मार्क- यहाँ एक अच्छी कड़ी है जो प्रक्रिया का अधिक विस्तार से वर्णन करता है- stephenwalther.com/blog/archive/2008/07/10/… । मैंने आपके उत्तर में रख दिया है।
रिचर्डॉड

22
+1 इसे चरण 4 में टाइप करना सुनिश्चित करें । [...] बटन के साथ चयन करने से एक फर्जी URL
बनेगा

10
यदि आप वीएस.नेट 2010 में डिफ़ॉल्ट एमवीसी प्रोजेक्ट टेम्प्लेट के साथ सिर्फ परीक्षण और काम कर रहे हैं , तो प्रारंभ पृष्ठ के लिए कोई भी मूल्य स्पष्ट करें , और फिर अपनी परियोजना को डीबग करें। यह आपको मुख्य "ASP.NET MVC में आपका स्वागत है!" पृष्ठ।
atconway

3
उपरोक्त चरणों के अलावा, आपको यह भी सुनिश्चित करने की आवश्यकता है कि आपने स्टार्टअप प्रॉजेक्ट को ठीक से चुना है (यदि आपके पास कई प्रोजेक्ट हैं तो डिफ़ॉल्ट पृष्ठ सेट करना पर्याप्त नहीं है)। समाधान एक्सप्लोरर में प्रोजेक्ट को राइट-क्लिक करें और इसे स्टार्टअप प्रोजेक्ट के रूप में सेट करें। प्रोजेक्ट का नाम तब समाधान ट्री में बोल्ड किया जाएगा।
जजीमोव

3
@ मार्क- चरण 4 पर आप पाठ बॉक्स को खाली छोड़ सकते हैं और सुनिश्चित कर सकते हैं कि विशिष्ट पृष्ठ रेडियो बटन चयनित है और यह एप्लिकेशन रूट पर डिबगिंग शुरू कर देगा।
अमराबी

22

जबकि आपके पास MVC प्रोजेक्ट में एक डिफ़ॉल्ट पृष्ठ हो सकता है, एक डिफ़ॉल्ट दृश्य के लिए अधिक पारंपरिक कार्यान्वयन एक डिफ़ॉल्ट नियंत्रक का उपयोग करना होगा, जो 'registerRoutes (...)' विधि के माध्यम से Global.asax में लागू होता है। उदाहरण के लिए यदि आप चाहते थे कि आपका सार्वजनिक \ होम नियंत्रक आपका डिफ़ॉल्ट मार्ग / दृश्य हो, तो कोड होगा:

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

        routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/{id}", // URL with parameters
            new { controller = "Public", action = "Home", id = UrlParameter.Optional } // Parameter defaults
        );

    }

इसके लिए कार्यात्मक होने के लिए, आपके पास प्रोजेक्ट में एक सेट स्टार्ट पेज होना आवश्यक है।


वाह ... यह वास्तव में एक सर्वर पर प्रकाशित होने के बाद ईवीएन काम करता है (जो स्वीकार्य उत्तर के लिए मामला नहीं है, कम से कम, मेरे लिए नहीं) तो यह वास्तविक अच्छा जवाब है
एंटोनी पेल्लेटियर

10

यह एमवीसी के लिए विशिष्ट पृष्ठ के तहत मेरे लिए काम करता है:

/Home/Index

अद्यतन: वर्तमान में, मैं सिर्फ "स्पेसिफिक पेज" टेक्स्टबॉक्स में एक फॉरवर्ड स्लैश का उपयोग करता हूं, और यह मुझे होम पेज पर ले जाता है जैसा कि रूटिंग में परिभाषित किया गया है:

/

अच्छा सरल उत्तर है। लेकिन सावधान रहें - यदि आपने स्टार्ट यूआरएल के समान कुछ दर्ज किया है, तो आपको अभी भी अमान्य URL संदेश मिलेगा (भले ही यह वर्तमान में चयनित नहीं है)। इसलिए स्टार्ट यूआरएल चुनें, उसमें टेक्स्ट डिलीट करें, फिर स्पेसिफिक पेज प्रॉपर्टी को ऊपर दिए गए रिलेटिव पाथ पर सेट करें।
एंडी ब्राउन

7

प्रोजेक्ट गुणों से एक विशिष्ट पृष्ठ का चयन करने से मेरी समस्या हल नहीं होती है।

MVC में 4 App_Start / RouteConfig.cs खोलें

उदाहरण के लिए, यदि आप स्टार्टअप पेज को लॉगिन में बदलना चाहते हैं :

routes.MapRoute(
        "Default", // Route name
        "",        // URL with parameters
        new { controller = "Account", action = "Login"}  // Parameter defaults
    );

1

यदि आप "एप्लिकेशन रूट" पर शुरू करना चाहते हैं, जैसा कि आप शीर्ष स्तर Default.aspx पृष्ठ पर राइट क्लिक करें और स्टार्ट पेज के रूप में सेट चुनें। F5 मारो और आपका काम हो गया।

यदि आप एक अलग नियंत्रक कार्रवाई में शुरू करना चाहते हैं तो मार्क का जवाब देखें।


1
क्या यह एमवीसी के लिए काम करता है? मेरे लिए, यह ASPX पृष्ठ शुरू करने की कोशिश करता है और रूट नहीं करता है।
रोबोटिक

1

इस पृष्ठ को फिर से देखना और मेरे पास दूसरों के साथ साझा करने के लिए अधिक जानकारी है।

डिबगिंग वातावरण (विज़ुअल स्टूडियो का उपयोग करके)

1a) प्रोजेक्ट गुणों का उपयोग करते हुए MVC पर स्टार्टअप पेज सेट करने के लिए स्टीफन वाल्टर का लिंक केवल तभी लागू होता है जब आप अपने MVC एप्लिकेशन को डीबग कर रहे होते हैं।

1 बी) राइट माउस सॉल्यूशन एक्सप्लोरर में .aspx पेज पर क्लिक करें और "सेट अस स्टार्ट पेज" का चयन करें।

नोट: उपरोक्त दोनों मामलों में, स्टार्टअप पृष्ठ सेटिंग केवल आपके विज़ुअल स्टूडियो डेवलपमेंट सर्वर द्वारा मान्यता प्राप्त है। यह आपके द्वारा परिनियोजित सर्वर द्वारा मान्यता प्राप्त नहीं है।

तैनात पर्यावरण

2a) स्टार्टअप पृष्ठ सेट करने के लिए, यह मानते हुए कि आपने कोई डिफ़ॉल्ट रूटिंग नहीं बदली है, "Server.Transfer" या "Response.Rirectirect" को अपने वांछित करने के लिए /Views/Home/Index.aspx की सामग्री को बदलें। पृष्ठ।

2 बी) अपने Global.asax.cs में अपने इच्छित पृष्ठ पर अपनी डिफ़ॉल्ट रूटिंग बदलें।

क्या कोई अन्य विकल्प है जिससे पाठक वाकिफ हैं? उपरोक्त में से कौन सा (आपके अपने विकल्प सहित) आपका पसंदीदा समाधान होगा (और कृपया हमारे साथ साझा करें क्यों)?

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.