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 @using
deyimi kullanmak .cshtml
ve ikincisi:
Views
Projenizin " " 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 Silberstein
alanlarıyla ilgili hatırlatması sayesinde ! Dedi ki:
Bir dahilinde çalışıyorsanız alanda , eklemek gerekir namespace
içindeki Web.config
under /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.AddGlobalImport
olarak 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.config
içinde Views
klasör, yani namespace
içe SADECE ki görünümleri için klasöre . Bir içe aktarmak istiyorsa araçlar namespace
bir in alanı görünümleri , bunu da içe aktarmanız gerekir namespace
o bölgenin içinde, web.config
bölgenin bulunan dosyanın, Views
klasö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?