2011-05-31 20 views
9

मेरे पास परिभाषित मानक मार्गों के साथ एक एएसपी.NET एमवीसी अनुप्रयोग है। ऐप हमारे डेटाबेस के लिए मेटा डेटा संपादित करता है। url योजना है:एएसपी.Net एमवीसी 3 आरक्षित आरक्षित शब्द?

http://localhost/tables/Edit/[Name of Table Here] 

यह tables नियंत्रक पर edit फ़ंक्शन को कॉल और पैरामीटर id के रूप में मेज के नाम पर से गुजरता है। सभी टेबल con नामक एक को छोड़कर ठीक काम करते हैं। 404 में निम्न URL परिणाम:

http://localhost/tables/Edit/con 

केवल एक चीज मैं के बारे में सोच सकते हैं कि con MVC मार्ग के संबंध में आरक्षित शब्द किसी प्रकार का होना चाहिए है। क्या किसी को पता है कि यह मामला है और यदि अन्य आरक्षित शब्द बचने के लिए हैं?

उत्तर

12

हां, con एक आरक्षित शब्द है और इस प्रकार एमवीसी मार्ग में नहीं रखा जा सकता है। यहाँ का वर्णन किया गया है एक ब्लॉग पोस्ट एक काम के आसपास:

http://haacked.com/archive/2010/04/29/allowing-reserved-filenames-in-URLs.aspx

और एक और पद आरक्षित शब्दों के पीछे कारणों का विवरण:

http://bitquabit.com/post/zombie-operating-systems-and-aspnet-mvc/

4

CON COM1, COM2 की तरह एक आरक्षित शब्द है, COM3, COM4, ​​LPT1, LPT2, AUX, PRN, NUL।

मैं AJAX अनुरोध का उपयोग करते समय भी इस समस्या में भागता हूं। मैंने पैरामीटर की शुरुआत में "-" char डालकर हल किया, और फिर मैंने इसे कोड-पीछे में बदल दिया।

लेकिन यह एक मूर्खतापूर्ण समाधान था, आप बस अपने Web.config फ़ाइल के लिए

<system.web> 
     <httpRuntime relaxedUrlToFileSystemMapping="true"/> 
     ...... 
    </system.web> 

जोड़कर आसानी से इस समस्या को हल कर सकते हैं और आप सुरक्षित रूप से यूआरएल में इन शब्दों का प्रयोग कर सकते हैं।

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