Yanıtlar:
Sonunda cevabı buldum.
@using MyNamespace
VB.Net için:
@Imports Mynamespace
Uygulamaya bir ad alanı eklemek istiyorsanız @ravy amiry'nin cevabına bir göz atın .
Birinci yol, dosyalarda şu anki dosyaya bir ad alanı aktaran @usingdeyimi kullanmak .cshtmlve ikincisi:
ViewsProjenizin " " dizinindeki "web.config" dosyasında ( projenin kökündeki ana web.config olmadığına dikkat edin ) , bu bölümü bulun:
<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>
özel ad alanınızı şu şekilde ekleyebilirsiniz:
<add namespace="My.Custom" />
ad alanını tüm .cshtml (ve / veya .vbhtml) dosyalarına ekler; Ayrıca buradan devralma görüntülerini buradan değiştirebilirsiniz:
<pages pageBaseType="My.Custom.MyWebViewPage">
Saygılarımızla.
GÜNCELLEME: @ Nick Silbersteinalanlarıyla ilgili hatırlatması sayesinde ! Dedi ki:
Bir dahilinde çalışıyorsanız alanda , eklemek gerekir namespaceiçindeki Web.configunder /Areas/<AreaName>/Views/ziyade
/Views/
ASP.NET MVC 3 Preview1'de, bu kodla Global.asax.cs içindeki tüm ustura görünümlerinize bir ad alanı alabilirsiniz
Microsoft.WebPages.Compilation.CodeGeneratorSettings.AddGlobalImport("Namespace.Namespace");
Umarım RTM'de bu Web.config bölümünden yapılır.
Tüm http sayfalarınıza nasıl özel bir ad alanı ekleyeceğinizi açıklayan bu http://weblogs.asp.net/mikaelsoderstrom/archive/2010/07/30/add-namespaces-with-razor.aspx adresini buldum .
Temel olarak bunu yapabilirsiniz
using Microsoft.WebPages.Compilation;
public class PreApplicationStart
{
public static void InitializeApplication()
{
CodeGeneratorSettings.AddGlobalImport("Custom.Namespace");
}
}
ve aşağıdaki kodu AssemblyInfo.cs dosyasına yerleştirin
[assembly: PreApplicationStartMethod(typeof(PreApplicationStart), "InitializeApplication")]
global.asax içinde InitializeApplication yöntemi Application_Start'tan önce yürütülür
Microsoft.WebPages.Compilation.AddGlobalImportolarak değiştirildi System.Web.WebPages.Razor.WebCodeRazorHost.AddGlobalImport.
Bildiğiniz gerektiğini Tek sorun, bir ad aracılığıyla içe aktarırken olmasıdır web.configiçinde Viewsklasör, yani namespaceiçe SADECE ki görünümleri için klasöre . Bir içe aktarmak istiyorsa araçlar namespacebir in alanı görünümleri , bunu da içe aktarmanız gerekir namespaceo bölgenin içinde, web.configbölgenin bulunan dosyanın, Viewsklasörün;
İsim alanı ve Kütüphane için
@using NameSpace_Name
Model için
@model Application_Name.Models.Model_Name
Jilet Sayfasındaki listeyi yineleme için (Liste öğelerine erişmek için foreach döngüsü kullanmanız gerekir)
@model List<Application_Name.Models.Model_Name>
@foreach (var item in Model)
{
<tr>
<td>@item.srno</td>
<td>@item.name</td>
</tr>
}
Bunu deneyebilirsin
@using MyNamespace
Ben jilet görünümünde ithalat ad alanı sırayla, sadece aşağıdaki şekilde eklemeniz gerekir düşünüyorum:
@using XX.YY.ZZ
İhtiyacınıza bağlı olarak aşağıdaki yöntemlerden birini kullanabilirsiniz:
sonraki tüm görünümlerde gerekiyorsa, "alanadinizadinizi kullanarak"; _ViewStart.cshtml'de. Bununla ilgili daha fazla bilgiyi şu adreste bulabilirsiniz: _ViewStart.cshtml mizanpaj dosyası nereye ve nasıl bağlanır?
Veya Web.config dosyasına başka bir kişi tarafından açıklandığı şekilde Montaj referansı ekleyin: Asp.Net MVC 3'teki tüm Görünümler arasında bir @ kullanımını nasıl uygularsınız?