ASP MVC:为什么我的视图中没有显示我的内部类?

Luk*_*ett 5 asp.net-mvc

<ul>
    <li><% Html.ActionLink(StringHelper.TryGetLocalString("Something"),
             "Blah", "Blah"); %></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

在我从局部视图中看到它之前,我必须将StringHelper类设置为public.

为什么??

(旁注:解析为本地字符串将在我的控制器中完成而不是在视图(布局)中,但它是一个很好的快速示例).

卢克,谢谢你的帮助

Ran*_*ric 3

由于 StringHelper 很可能没有编译到与 MVC 站点的其余代码相同的 DLL 中,因此它无法访问内部内容。

当您有控制器、视图等时,就会出现这种情况,因为默认的 MVC 网站设置(以及调试时的工作方式)是将常规代码编译为 DLL,然后单独编译页面/视图。当您在发布网站时设置了“可更新性”时,也会发生这种情况。