2012-01-21 14 views
6

के साथ कक्षा के लिए उपनाम परिभाषित करना सामान्य सी # कोड में मैं कक्षा नाम के लिए उपनाम परिभाषित करने के लिए एक उपयोग कथन का उपयोग कर सकता हूं, उदा।रेजर

using MyAlias = Some.Long.Namespace.Class; 

मैं, एक रेजर ध्यान में रखते हुए एक ही कोशिश की है की तरह

@using MyAlias = Some.Long.Namespace.Class 

एक अनुभवहीन दृष्टिकोण काम नहीं करता। क्या एक ही प्रभाव प्राप्त करने का कोई तरीका है?

उत्तर

11

आप ऐसा क्यों करना चाहते हैं? जो भी कारण आपको इसकी आवश्यकता है, शायद एक बेहतर तरीका है। आपको किसी भी तरह से रेजर व्यू में सी # कोड लिखने से बचना चाहिए, इसलिए आपको इसकी आवश्यकता नहीं होनी चाहिए। रेजर व्यू में आपको बस इतना ही देखना चाहिए कि आपके व्यू मॉडल के लिए नेमस्पेस है क्योंकि यह सब कुछ है जो एक दृश्य में हस्तक्षेप करना चाहिए।

@model MyViewModel 
... 

उपनाम और जहां वे संबंधित सी # कोड छोड़ दो - नियंत्रकों, मॉडल, सहायकों, ...

यह सब कहा जा रहा है, उपनाम काम करना चाहिए। उदाहरण के लिए निम्न दृश्य मेरे लिए पूरी तरह से ठीक चलता है:

@using foo = System.IO; 
<div> 
    @foo.Path.GetFileName(@"c:\work\foo.txt") 
</div> 
+5

यदि आप "मॉडल" के बजाय "MyViewModel" का उपयोग करके अपने मॉडल में अपने मॉडल को संदर्भित करना चाहते हैं तो क्या होगा? यानी MyViewModel.MyProperty मॉडल के बजाय। MyProperty – andrew