【发布时间】:2020-12-22 00:41:24
【问题描述】:
我有一个用 VB.Net 编写的模块,它有几个只读属性。它看起来像这样:
Module Name1
Public ReadOnly Property ClientID As String
Get
Return "[some data here]"
End Get
End Property
Public ReadOnly Property ClientKey As String
Get
Return "[some data here]"
End Get
End Property
End Module
这里没什么特别的。我想做的是在 MVC 5 Razor 页面中使用这个模块,如下所示:
<span>@Name1.ClientID - @Name1.ClientKey</span>
再一次,没什么特别的。但是运行代码会产生以下错误:
Name1 在此上下文中不可访问,因为它是“朋友”。
默认情况下,模块具有好友访问权限,这会阻止它们在当前程序集之外被访问。这就是我要的。但是从 Razor 页面调用时它不起作用。我已经检查以确保命名空间已导入,但没有成功。 (更改模块对公共的访问可以让事情正常进行,但我不希望将其公开。)
我做错了什么?
【问题讨论】:
-
Razor 视图被编译到它们自己的程序集中。
-
@GSerg 该链接没有帮助。所要做的就是使模块公开,这意味着它可以在当前程序集之外访问,这是我不想要的。但是你的第一个回复告诉我,我想做的事不可能,所以我必须找到另一种方法来实现我的目标。
-
你看过第二句中提到的docs.microsoft.com/en-us/dotnet/api/…吗?
-
@GSerg 感谢您的帮助。我已经解决了这个问题。请参阅下面的答案。
标签: asp.net-mvc vb.net razor friend protected