2013-02-21 16 views
6

में होस्ट किए गए एमवीसी 3 एप्लिकेशन के लिए एक्शन मैंने वेब में एक एमवीसी 3 एप्लीकेशन तैनात किया है। मैं url.Action() विधि में वर्चुअल निर्देशिका नाम कैसे जोड़ सकता हूं?यूआरएल। एक उप निर्देशिका

उदाहरण के लिए

: अपने आवेदन

अब \ एप्लिकेशन mydomain.com में है जब मैं करना

Url.Action रिटर्न कार्रवाई = "/ होम/बनाएँ" लेकिन कार्रवाई क्या मैं चाहता है = "/ ऐप/होम/बनाएं"।

क्या किया जाना चाहिए?

उत्तर

7

आपको ऐसा करने की आवश्यकता नहीं है। यदि आपके एप्लिकेशन को वर्चुअल निर्देशिका के अंदर आईआईएस में उचित रूप से तैनात किया गया है (App कहें) तो Url.Action("Create", "Home") सहायक /app/home/Create उत्पन्न करेगा जो सही यूआरएल है।

+1

मैं दूसरा हूं, मैं वर्चुअल निर्देशिका में एकाधिक ऐप्स होस्ट करता हूं और कभी भी यह समस्या नहीं थी। – Beyers

+0

धन्यवाद ... यह काम किया –

1

मानचित्र एक मार्ग

@Url.Action("Index", "Test") 
: (आप/एप्लिकेशन देना चाहिए)

 context.MapRoute(
      name: "app", 
      url: "app/{controller}/{action}/{id}", 
      defaults: new { controller = "Test", action = "Index", id = UrlParameter.Optional } 
     ); 

तो इस तरह Url.Action का उपयोग करें (नोट इस मार्ग डिफ़ॉल्ट मार्ग से पहले प्रकट करने के लिए है)

आप अपने Global.asax.cs फ़ाइल में मार्ग पा सकते हैं।

0

ऐसा प्रतीत होता है कि आप क्या करने की कोशिश कर रहे हैं वह एक एरिया बना रहा है। एमवीसी आपके आवेदन में नियंत्रकों और कार्यों को आगे व्यवस्थित करने के लिए क्षेत्र के उपयोग का समर्थन करता है।

अधिक जानकारी के लिए इस MSDN arcticle देखें: http://msdn.microsoft.com/en-us/library/ee671793(v=vs.100).aspx

0

अंत में मैं Url.Content उपयोग कर रहा हूँ ("~/होम/बनाएँ") जो पूरे यूआरएल है कि क्या मुख्य या उप निर्देशिका पर होस्ट देता है।

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