जवाबों:
अंत में जवाब मिला।
@using MyNamespace
VB.Net के लिए:
@Imports Mynamespace
यदि आप ऐप में नाम स्थान शामिल करना चाहते हैं तो @ravy amiry के उत्तर पर एक नज़र डालें ।
पहला तरीका यह है कि फाइलों @using
में स्टेटमेंट का उपयोग .cshtml
करें, जो एक नेमस्पेस को केवल वर्तमान फाइल में आयात करता है, और दूसरा:
Views
अपनी परियोजना की निर्देशिका में "web.config" फ़ाइल में (ध्यान दें कि यह परियोजना के मूल में मुख्य web.config नहीं है) , इस अनुभाग को खोजें:
<system.web.webPages.razor>
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
.
.
<!-- etc -->
</namespaces>
</pages>
</system.web.webPages.razor>
आप अपने कस्टम नामस्थान को इस तरह जोड़ सकते हैं:
<add namespace="My.Custom" />
वह सभी .cshml (और / या .vbhtml) फ़ाइलों में नामस्थान जोड़ देगा; यहां तक कि आप यहां से वंशानुक्रम भी बदल सकते हैं, जैसे:
<pages pageBaseType="My.Custom.MyWebViewPage">
सादर।
अद्यतन:Nick Silberstein
क्षेत्रों के बारे में अपने अनुस्मारक के लिए @ धन्यवाद ! उसने कहा:
आप एक के भीतर काम कर रहे हैं क्षेत्र , आप जोड़ना आवश्यक है namespace
के भीतर Web.config
के तहत /Areas/<AreaName>/Views/
बजाय
/Views/
ASP.NET MVC 3 पूर्वावलोकन 1 में आप Global.asax.cs में इस कोड के साथ अपने सभी रेजर दृश्यों पर एक नाम स्थान आयात कर सकते हैं।
Microsoft.WebPages.Compilation.CodeGeneratorSettings.AddGlobalImport("Namespace.Namespace");
मुझे उम्मीद है कि RTM यह Web.config सेक्शन के माध्यम से हो जाता है।
मुझे यह http://weblogs.asp.net/mikaelsoderstrom/archive/2010/07/30/add-namespaces-with-razor.aspx मिला, जो बताता है कि अपने सभी रेज़ल पेजों में एक कस्टम नेमस्पेस कैसे जोड़ें।
मूल रूप से आप इसे बना सकते हैं
using Microsoft.WebPages.Compilation;
public class PreApplicationStart
{
public static void InitializeApplication()
{
CodeGeneratorSettings.AddGlobalImport("Custom.Namespace");
}
}
और अपने असेंबलीइन्फो में निम्न कोड डालें
[assembly: PreApplicationStartMethod(typeof(PreApplicationStart), "InitializeApplication")]
विधि InitializeApplication Global.asax में Application_Start से पहले निष्पादित की जाएगी
Microsoft.WebPages.Compilation.AddGlobalImport
को बदल दिया गया था System.Web.WebPages.Razor.WebCodeRazorHost.AddGlobalImport
।
एक मुद्दा यह है कि आपको पता होना चाहिए कि जब आप आयात एक नाम स्थान से होकर जाता है web.config
में Views
फ़ोल्डर, कि namespace
आयात किया जाता है बस कि में विचारों के लिए फ़ोल्डर । यदि आप namespace
किसी क्षेत्र के विचारों में आयात करना चाहते हैं , तो आपको namespace
उस क्षेत्र की web.config
फ़ाइल में, क्षेत्र के Views
फ़ोल्डर में स्थित आयात करना होगा ;
नेमस्पेस और लाइब्रेरी के लिए
@using NameSpace_Name
मॉडल के लिए
@model Application_Name.Models.Model_Name
रेजर पेज पर सूची को सत्यापित करने के लिए (आपको सूची आइटम तक पहुंचने के लिए फ़ॉरच लूप का उपयोग करना होगा)
@model List<Application_Name.Models.Model_Name>
@foreach (var item in Model)
{
<tr>
<td>@item.srno</td>
<td>@item.name</td>
</tr>
}
आप यह कोशिश कर सकते हैं
@using MyNamespace
मुझे लगता है कि रेजर दृश्य में आयात नाम स्थान, आपको बस नीचे जोड़ने की आवश्यकता है:
@using XX.YY.ZZ
अपनी आवश्यकता के आधार पर आप निम्न में से किसी एक विधि का उपयोग कर सकते हैं:
यदि बाद के सभी दृश्यों में आवश्यक हो, तो "your.domainName का उपयोग करके" जोड़ें; _ViewStart.cshtml में। आप इसके बारे में अधिक जानकारी प्राप्त कर सकते हैं: _ViewStart.cshtml लेआउट फ़ाइल कहाँ और कैसे जुड़ी है?
या View web.config में असेंबली रेफरेंस जोड़ें, जैसा कि अन्य लोगों द्वारा बताया गया है: आप Asp.Net MVC 3 में सभी दृश्यों के बीच एक @use को कैसे लागू करते हैं?