如何在剃刀视图页面导入命名空间?
当前回答
对于命名空间和库
@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 XX.YY.ZZ
您必须知道的一个问题是,当您通过web导入名称空间时。在Views文件夹中的config,该命名空间仅为该文件夹中的视图导入。意思是如果你想在一个区域视图中导入一个命名空间,你也必须在该区域的web中导入该命名空间。配置文件,位于区域的视图文件夹;
终于找到了答案。
@using MyNamespace
VB。Net:
@Imports Mynamespace
如果你想在整个应用程序中包含一个命名空间,可以看看@ravy amiry的答案。
第一种方法是在.cshtml文件中使用@using语句,只将命名空间导入当前文件,第二种方法是:
在“网络”中。在你的项目的“Views”目录下的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" />
这将添加命名空间到所有的.cshtml(和/或.vbhtml)文件; 你也可以从这里改变视图继承,比如:
<pages pageBaseType="My.Custom.MyWebViewPage">
的问候。
更新:感谢@Nick Silberstein对区域的提醒!他说:
如果您在一个区域内工作,则必须在Web中添加名称空间。在“/ regions /<AreaName>/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>
}
推荐文章
- 如何编辑。csproj文件
- 如何使用网络强制HTTPS。配置文件
- 如何在WebAPI上使用Swashbuckle省略Swagger文档中的方法
- 无法加载.ps1,因为在此系统上禁止执行脚本
- 找不到如何使用HttpContent
- 什么是@Html。DisplayFor语法?
- 我如何定义一个方法在剃刀?
- 我如何循环通过日期范围?
- 无效的回发或回调参数。使用'<pages enableEventValidation="true"/>'启用事件验证
- 一个潜在的危险请求。从客户端检测到路径值(*)
- 为什么反应。重定向导致System.Threading.ThreadAbortException?
- @media媒体查询和ASP。NET MVC razor语法冲突
- Html5 data-*与asp.net mvc textbox html属性
- Razor中的预处理器指令
- 使iframe高度动态基于内容里面- JQUERY/Javascript