ASP.NET MVC:如何在除一个视图之外的所有视图上呈现局部视图?

ala*_*irs 1 asp.net-mvc partial-views

我有一个名为LogOnUserControl的部分视图/用户控件,它显示在我站点的侧栏中(在Site.Master中定义).我还有一个单独的LogOn视图,它也呈现LogOnUserControl.

我不希望在LogOn视图中有两个LogOnUserControl实例,因为它只是简单的混乱,所以我目前的想法是包括一个条件,如

// Semi-pseudocode
if (!Request.IsAuthenticated) && View.Name != "LogOn")
Run Code Online (Sandbox Code Playgroud)

在LogOnUserControl中.

这感觉不对,因为局部视图现在知道LogOn视图.此外,我无法找到如何获取View的名称,这加强了我做错事的感觉!:-)

编辑: 进一步的复杂性是,相同的局部视图用于Site.Master中的LogOn视图和侧边栏.

Ste*_*ock 5

您是否考虑过在登录栏中使用不同的母版页,而侧边栏中没有登录部分?如果您担心重复html标记,可以使用嵌套母版页来避免该问题.