gpt4 book ai didi

asp.net-mvc - @using 默认在 Razor View MVC 5

转载 作者:行者123 更新时间:2023-12-04 16:55:50 25 4
gpt4 key购买 nike

我有单独的资源程序集,我希望每个 Razor View 都可以访问它。

现在我把 @using Res = MyProject.Web.Resources;在需要它的每个 View 中(稍后所有页面都会)并通过以下方式访问资源

@Res.TheNeededResource.TheField

我尝试将资源命名空间添加到 View 文件夹中的 web.config,但没有成功
<add namespace="MyProject.Web.Resources" /> 

如果我在 View 中添加完整路径命名空间,IDE 会突出显示我在配置中添加的命名空间作为冗余 - 当我删除它时 - 错误

如何正确添加该命名空间?或其他方式?

最佳答案

在您的 web.config ,很可能是 Views 中的文件文件夹,您可以添加一个具有别名的命名空间,如下所示:

<namespaces>
...
<add namespace="Res=MyProject.Web.Resources" />
</namespaces>

现在您可以像以前一样调用您的代码:
@Res.TheNeededResource.TheField

这是 Razor 的未记录功能,IDE 可能会将其呈现为错误,即使它是有效的语法。这意味着您最好将基本页面类型更改为您自己的类型,如下所示:
public abstract class BaseViewPage : BaseViewPage<object>
{
}

public abstract class BaseViewPage<TModel> : WebViewPage<TModel>
{
public TheNeededResource Res => MyProject.Web.Resources.TheNeededResource
}

在您的 web.config将基页类型更改为您自己的:
<pages pageBaseType="MyProject.Web.BaseViewPage">

现在在您的 View 中您可以使用 Res属性就像您使用的一样 Html :
@Res.TheField

关于asp.net-mvc - @using 默认在 Razor View MVC 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40913784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com