2015-02-25 24 views
18

MVC 6 kullanıyorum ve tüm Razor görünümlerimden global olarak belirli bir ad alanına erişmeyi istiyorum. MVC 5'te bu oldukça basitti; Sadece benim ~/views/web.config dosyasına aşağıdaki kodu eklemek istiyorum: Ben MyProject.WebUI.Helpers ad alanına erişimi ekledikTüm görünümler için ASP.NET MVC 6 adında alan ekleyin

<system.web.webPages.razor> 
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.1.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    <pages pageBaseType="System.Web.Mvc.WebViewPage"> 
     <namespaces> 
      <add namespace="System.Web.Mvc" /> 
      <add namespace="System.Web.Mvc.Ajax" /> 
      <add namespace="System.Web.Mvc.Html" /> 
      <add namespace="System.Web.Optimization"/> 
      <add namespace="System.Web.Routing" /> 
      <add namespace="MyProject.WebUI" /> 
      <add namespace="MyProject.WebUI.Helpers" /><!-- Added this line --> 
     </namespaces> 
    </pages> 
</system.web.webPages.razor> 

.

ASP.NET 5'te ve dolayısıyla MVC 6'da, web.config dosyası artık ortadan kalkmış olduğundan, bunu daha fazla yapmaktan nasıl emin olacağımı bilmiyorum. Bir cevabı aramayı denedim, ancak bulabildiğim tek şey, onu v5 yerine ASP.NET'in geçerli sürümlerinde nasıl yapacağınızdır.

Herhangi bir fikrin var mı?

Düzelt: Hangi web.config dosyasını kullanmış olurdum.

+1

Bu ad ~/web.config veya ~/görüntüleme/web.config eklediniz? –

+1

Bu, '' '/ views/web.config''' içinde olurdu, ancak ASP.NET 5' '' web.config''' dosyalarını hiç kullanmaz, bu yüzden neye ihtiyacım olduğu hakkında hiçbir fikrim yok eklemek için eklemek veya eklemek için bile. –

+1

Bu dosyaları ~/views/web.config dosyasına eklerseniz, lütfen projenizi kaldırın ve bundan sonra yeniden yüklemeyi deneyin. –

cevap

25

< = beta3 bit'leri için (büyük olasılıkla kullanmakta olduğunuz) _ViewStart.cshtml dosyanıza @using ifadeleri eklemeniz gerekir. Aka:

_ViewStart.cshtml: @using MyProject.WebUI.Helpers

Bir _ViewStart.cshtml yoksa bir tane oluşturmak ve sadece bunu etkilemek istediğiniz görünümün aynı yol veya üst yolunda emin yapabilirsiniz.

Beta4 bitleri için, bu işlevsellik _GlobalImport.cshtml adlı yeni bir dosyaya taşındı; _ViewStart.cshtml, orijinal işlevine geri döndü (yalnızca çalıştırma kodu değil, devralma yönergeleri değil). Bu nedenle:

_GlobalImport.cshtml: beta5 bitleri için @using MyProject.WebUI.Helpers

, _GlobalImport.cshtml _ViewImports.cshtml

+0

Mükemmel. Tam olarak bilmem gereken şey, teşekkürler! Beta5'te –

+1

, '_ViewImports.cshtml' https: // github'dur.com/aspnet/Duyurular/sorunlar/27 –

+0

Hem _ViewStart hem de _ViewImports'un bana sahip olması gereksiz görünüyor. – WillC

0
Ben beta 7 olduğum

olarak değiştirildi ve ben

@using System.Security.Principal 
@using System.Security.Claims 

@Context.User.GetUserId() 
6

kullanmak zorunda kaldı Ad alanlarınızı _ViewImports.cshtml dosyasına ekleyin (Görünümler klasörü altındadır).

Örnek dosyası:

@using Microsoft.AspNetCore.Identity 
@using Jifiti.Registry.Web.Models.AccountViewModels 
@using Jifiti.Registry.Web.Models.ManageViewModels 

@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 
İlgili konular