5

मैंने 3 नियंत्रकों को जोड़ा है, और उनमें से एक के लिए इंडेक्स व्यू डिफ़ॉल्ट रूप से काम नहीं करता है।एमवीसी नियंत्रक सूचकांक कभी-कभी 404?

Works(shows index): 
http://localhost:1767/Employees/ 
http://localhost:1767/Employees/Index 
http://localhost:1767/Home/  
http://localhost:1767/Home/Index 
http://localhost:1767/ 
http://localhost:1767/Companies/Index 

Doesn't work(gives 404 error): 
http://localhost:1767/Companies/ 

1) मैंने एक इकाई फ्रेमवर्क क्लास लाइब्रेरी बनाई, जो एक कर्मचारी और कंपनी तालिका वाले डेटाबेस से उत्पन्न हुआ।

2) एक एमवीसी 3 खाली परियोजना बनाई।

3) एमवीसी परियोजना से ईएफ कक्षा पुस्तकालय परियोजना में एक परियोजना संदर्भ जोड़ा गया।

4) एक नियंत्रक जोड़ा गया, और ऐड नियंत्रक संवाद में मैं एफई मॉडल और तालिकाओं में से एक और नाम नियंत्रक CompaniesController

5 चुना है) तब मुझे याद है मैं एक HomeController की जरूरत है, तो मैं एक और नियंत्रक जोड़ा , इसे होमकंट्रोलर नामकरण, और फिर कंपनी इकाई चुना।

6) आखिरकार मैंने कर्मचारी इकाई को चुनने वाले कर्मचारी नियंत्रक को जोड़ा।

यह मेरा Global.asax.cs में केवल मार्ग है:

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

क्यों नहीं अन्य नियंत्रकों के सभी तरह सूचकांक कार्रवाई करने के लिए http://localhost:1767/Companies/ यूआरएल डिफ़ॉल्ट? मैंने कुछ अभ्यास एमवीसी परियोजनाएं की हैं और हमेशा यह समस्या होती है। इंडेक्स को डिफॉल्ट करने वाले कर्मचारी नियंत्रक ठीक काम करता है, भले ही कोई ऐसा मार्ग न हो जो इसे करने के लिए कहता है?

संपादित करें: यहाँ है त्रुटि मैं प्राप्त करते हैं:

The resource cannot be found. 
Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly. 

Requested URL: /Companies/ 

संपादित करें: तो मैं आमतौर पर ऑनलाइन मेरी संस्थाओं या डोमेन विवरण जब उदाहरण पोस्टिंग के नाम प्रकट नहीं करते हैं, लेकिन इस मामले में कंपनियों वास्तव में बुलाया गया था गुण, और व्यू फ़ोल्डर और नियंत्रक के लिए Properties2 को नाम बदलना समस्या को हल करता है। तो ऐसा लगता है कि गुण एक विशेष कीवर्ड है जो यूआरएल

उत्तर

5

गुण (नियंत्रक) Properties2 (नियंत्रक) के लिए से देखने फ़ोल्डर और नियंत्रक बदल गया है और अब यह ठीक काम करता है। अपरिवर्तनीय रूप से "गुणों" में एक यूआरएल में कुछ विशेष हैंडलिंग है और

+0

मुझे लगता है कि ऐसा हो सकता है क्योंकि गुण मानक फ़ोल्डर होल्डिंग इन्फ्लोइंक्स (प्रोजेक्ट टेम्पलेट) । यह 4XX त्रुटि संदेश होना चाहिए था, यह सुनिश्चित नहीं है कि आपको 404 क्यों प्राप्त हुआ। – Lokeshwer

+0

बिंगो ... वास्तव में यह समस्या थी। –

2

में प्रतीत होता है कि क्या आपको इंडेक्स में डिफ़ॉल्ट रूप से तोड़ता है क्या आपको कंपनियों के तहत अपने व्यू फ़ोल्डर्स में इंडेक्स व्यू मिला है? यानी दृश्य/कंपनियां/index.aspx?

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

संपादित:

namespace MyProject.Controllers 

public class CompaniesController : Controller 
{ 
    [HttpGet] 
    public ActionResult Index() { 
     return View(); 
    } 
} 

और यह अपनी परियोजना के नियंत्रकों फ़ोल्डर में हैं: यह मैं CompaniesController तरह देखने के लिए उम्मीद करेंगे क्या है।

+0

हां एक इंडेक्स.cshtml है, मैंने कंट्रोलर संवाद को मेरे लिए सभी मचान करने दिया है, इसलिए मुझे नहीं पता कि यह दूसरे को कैसे प्राप्त करेगा कार्रवाई सही है लेकिन सूचकांक – AaronLS

+0

गलत वर्तनी है क्या आप त्रुटि की सारांश पोस्ट करने में सक्षम हैं यानी यह इंडेक्स व्यू को ढूँढने में असमर्थ कुछ कहता है। खोजे गए फ़ोल्डर दृश्य/अनुक्रमणिका, दृश्य/साझा, .... आदि – dreza

+0

मैंने त्रुटि संदेश के साथ पोस्ट संपादित किया है। यह केवल 404 त्रुटि है जो एमवीसी उपयोग करता है। – AaronLS

3

क्या आपने अपनी कंपनी नियंत्रक को इंडेक्स एक्शन जोड़ा था?

[HttpGet] 
public ActionResult Index() 
{ 
    return View(); 
} 
+0

इसके अलावा, सुनिश्चित करें कि आपके पास index.cshtml है या इंडेक्स.एएसपीएक्स (जो भी व्यू इंजन आप उपयोग कर रहे हैं) दृश्य/कंपनी फ़ोल्डर –

+0

हां में। मैं केवल एड कंट्रोलर डायलॉग को मेरे लिए उस मचान के बारे में बता रहा हूं, लेकिन मैंने यह सत्यापित किया है कि 'सार्वजनिक व्यू रीसेट इंडेक्स() ' – AaronLS

3

को डिफ़ॉल्ट रूप से तोड़ने के लिए मुझे 403.1 प्राप्त हुआ क्योंकि मेरे पास वेब प्रोजेक्ट रूट निर्देशिका के तहत नियंत्रक नाम के समान फ़ोल्डर नाम था।इसलिए एमवीसी रूट रिज़ॉल्यूशन तक पहुंचने से पहले, यह फ़ोल्डर सामग्री को सूचीबद्ध करने की कोशिश करने में विफल रहता है। किसी भी प्रोजेक्ट में मानक फ़ोल्डर होने के गुणों के साथ समान समस्या हो सकती है

+0

मेरे पास वर्णित 404 था लेकिन यह मुद्दा था - मेरे पास डेवलपर कंट्रोलर.cs नामक एक नियंत्रक है, और इसमें विकास नामक एक निर्देशिका भी थी। निर्देशिका नाम को देव, खुश दिनों में बदल दिया! – Eraph

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