2010-03-10 8 views
19

इस तरह जब निर्माण कोड:क्या मुझे अपने एमवीसी विचारों में Url.Content() या ResolveUrl() का उपयोग करना चाहिए?

<script type="text/javascript" src="<%=ResolveUrl("~/js/js.js")%>"></script> 

या

<input type="image" src="<%=ResolveUrl("~/img/submit.png")%>" /> 

मैं Url.Content या ResolveUrl() उपयोग करना चाहिए? क्या फर्क पड़ता है?

उत्तर

28

यदि आप आईआईएस यूआरएल का उपयोग कर रहे हैं तो अपने एमवीसी एप्लिकेशन के भीतर रिवाइटिंग, उदा। http://yoursubdomain.example.com/MyController/MyActionhttp://hosted.example.com/yoursubdomain/MyController/MyAction के रूप में आंतरिक रूप से इलाज, Url.Content() एक सही सबडोमेन-सापेक्ष लिंक उत्पन्न करेगा। ResolveUrl() इस स्थिति में एक गलत लिंक उत्पन्न करेगा।

14

Url.Content अधिक एमवीसीश है क्योंकि यह सामान्य है। ResolveUrl एएसपी.नेट की शुरुआत के बाद से आसपास रहा है।

+0

किसी भी कारण एक दूसरे के ऊपर का उपयोग करने के @Darin पसंद करते हैं? –

+4

एक एमवीसी अनुप्रयोग में मैं 'Url.Content' पसंद करूंगा। यह एक तरह का यूनिट-टेस्टेबल अनुकूल है। –

12

मैं स्थानीय चर में साइट रूट पर कब्जा और पुन: उपयोग यह

<% var siteroot = Url.Content("~/") %> 

<script type="text/javascript" src="<%: siteroot %>Script/jquery-1.4.1.js"></script> 
<script type="text/javascript" src="<%: siteroot %>Script/jquery.validate.js"></script> 

यह कुछ एमएस सहेजना चाहिए करने के लिए :)

+13

यह शायद कुछ मिलीसेकंड से भी कम बचाता है। –

+0

मुझे लगता है कि यह पढ़ने में आसान बनाता है। –

+0

मुझे नहीं लगता कि यह कुछ भी बचा रहा है। माइक्रोनैनेजिंग यूआरएल की तुलना में गुलप का उपयोग करके अपने जेएस और सीएसएस को पैकेज करने के लिए यह अधिक समझ में आता है। –

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