我有一个名为 LogOnUserControl 的部分视图/用户控件,它显示在我网站的侧栏中(在 Site.Master 中定义)。我还有一个单独的 LogOn 视图,它也呈现 LogOnUserControl。
我不希望 LogOn 视图中有两个 LogOnUserControl 实例,因为这很容易混淆,所以我目前的想法是包含一个条件,例如
// Semi-pseudocode
if (!Request.IsAuthenticated) && View.Name != "LogOn")
在 LogOnUserControl 中。
这感觉不对,因为局部视图现在知道 LogOn 视图。另外,我不知道如何获取视图的名称,这强化了我做错了什么的感觉!:-)
编辑: Site.Master 中的 LogOn 视图和侧边栏都使用相同的局部视图,这更加复杂。