Відповіді:
Нарешті знайшов відповідь.
@using MyNamespace
Для VB.Net:
@Imports Mynamespace
Подивіться на відповідь @ravy amiry, якщо ви хочете включити у програму простір імен.
Перший спосіб полягає у використанні @using
оператора у .cshtml
файлах, який імпортує простору імен лише у поточний файл, а другий:
У файлі "web.config" у Views
каталозі " " вашого проекту (зауважте, що це не головний 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" />
що додасть простір імен до всіх .cshtml (та / або .vbhtml) файлів; також ви можете змінити спадщину поглядів звідси, як-от:
<pages pageBaseType="My.Custom.MyWebViewPage">
З повагою
ОНОВЛЕННЯ: Завдяки @ Nick Silberstein
його нагадуванню про райони! Він сказав:
Якщо ви працюєте в межах району , ви повинні додати значення namespace
" Web.config
нижче", /Areas/<AreaName>/Views/
а не ""
/Views/
У ASP.NET MVC 3 Preview1 ви можете імпортувати простір імен на всі перегляди бритви за допомогою цього коду в 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");
}
}
і введіть такий код у свою AssemblyInfo.cs
[assembly: PreApplicationStartMethod(typeof(PreApplicationStart), "InitializeApplication")]
метод InitializeApplication буде виконаний перед Application_Start в global.asax
Microsoft.WebPages.Compilation.AddGlobalImport
було змінено на System.Web.WebPages.Razor.WebCodeRazorHost.AddGlobalImport
.
Одне питання , який ви повинні знати, що при імпорті простору імен з допомогою web.config
в Views
папку, яка namespace
імпортується JUST для уявлень в цій папці . Значить, якщо ви хочете імпортувати представлення даних namespace
у зоні , ви також повинні імпортувати це namespace
у web.config
файл цієї області , що знаходиться у Views
папці області;
Для простору імен та бібліотеки
@using NameSpace_Name
Для моделі
@model Application_Name.Models.Model_Name
Для повторення списку на сторінці Razor (для доступу до елементів списку потрібно використовувати цикл foreach)
@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?
Або додайте посилання на збірку у Перегляд web.config, як описано іншими, пояснене в: Як ви реалізуєте @use для всіх переглядів у Asp.Net MVC 3?