2012-04-16 68 views
1

我基本上试图创建两个部分视图,一个用于管理员,另一个用于成员。ASP.NET MVC 3中的部分视图会员登录和管理员登录

   @Html.Partial("_LogOnPartial1") | 
       @Html.Partial("_LogOnPartial") 

这就是_LogOnPartial1的代码。

@if(Request.IsAuthenticated) { 
<text>Welcome <strong>User</strong>!|| 
@Html.ActionLink("Account", "Index", "") || 
@Html.ActionLink("Log Off", "LogOff", "Account") </text>}else { 
@: @Html.ActionLink("Members", "Index", "Members") } 

那是_LogOnPartial的代码。

@if(Request.IsAuthenticated) { 
<text>Welcome <strong>Administrator</strong>!|| 
@Html.ActionLink("Account", "Index", "AdminDVD") || 
@Html.ActionLink("Log Off", "LogOff", "Account") </text>}else { 
@: @Html.ActionLink("Admin", "Index", "Admin") } 

但是当管理员登录时,他可以看到两个部分视图。我明白了。

欢迎您! ||帐户||注销|欢迎管理员! ||帐户||注销|

任何方式,我可以单独对会员局部视图管理局部视图

+1

您已检查用户是否已通过身份验证,但是不应该检查角色成员身份吗? – StuartLC 2012-04-16 03:44:39

+0

你还没有提到你想要一个'Admin'登录的情况,以及你需要'member'登录的情况?你想在不同区域显示不同的登录信息吗? – gideon 2012-04-16 04:36:57

+0

基本上管理员有他自己的数据库表和成员有他们自己的数据库表,因此有不同的登录页面。 – user1335443 2012-04-16 10:20:11

回答

3

你可以测试用户的角色:

@if (User.IsInRole("Administrator")) 
{ 
    @Html.Partial("_LogOnPartial1") 
} 
else 
{ 
    @Html.Partial("_LogOnPartial") 
} 

,或者直接做这个测试到的部分,因此你可能只有一个部分。