我有一个ASP.NET MVC4项目。
我有不同类型的用户,例如儿童,青少年和成人,所有这些用户均属于用户角色“用户”。这些帐户中的每一个都应在登录时看到不同的菜单。
因此,我认为检查登录用户是否为孩子是一个好主意,例如在Site.Master(用aspx编写)中显示孩子的菜单。
但是,我很难做到这一点。我下面的代码Parser Error Message: The server block is not well formed.
在第二行(<%@ using SchoolProgressProject.Controllers %>
)收到一条消息。我的代码如下所示。
<%@ Import Namespace="SchoolProgressProject" %>
<%@ using SchoolProgressProject.Controllers; %>
<%@ using SchoolProgressProject.Models; %>
<% WebIntegrationRestService service= new WebIntegrationRestService();//This is to contact the Database%>
<% UserType type = null;%>
<%if (User.Identity.IsAuthenticated)%>
<%{%>
<% UserType type = service.GetUserByUsername(User.Identity.Name).UserType;%>
<%}%>
你知道我该怎么解决吗?此外,您知道更简单或更清晰的方法吗?
有两点。
您不能using
像在c#代码文件中那样在视图页面中使用。它们以不同的方式工作。import page指令执行等效操作。
不需要<%
像之前那样在每一行上都包含多行代码。一个A代码块以aa开头<%
,有多行代码,每行以;
&结尾,最后是a%>
最后也是最重要的是,请勿在视图中执行此操作。您的视图中不应包含业务逻辑。获取控制器中的用户角色,然后将结果传递到视图,或基于该值返回不同的视图。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句