对此我不知所措,昨天它工作正常,今天它似乎被破坏了:
这一行产生错误:
@if (Roles.IsUserInRole(HttpContext.Current.User.Identity.Name, "Admin"))
Run Code Online (Sandbox Code Playgroud)
错误是:无法连接到SQL Server数据库.
整个例外:
System.Web.HttpException was unhandled by user code
HResult=-2147467259
Message=Unable to connect to SQL Server database.
Source=System.Web
ErrorCode=-2147467259
WebEventCode=0
StackTrace:
at System.Web.DataAccess.SqlConnectionHelper.CreateMdfFile(String fullFileName, String dataDir, String connectionString)
at System.Web.DataAccess.SqlConnectionHelper.EnsureDBFile(String connectionString)
at System.Web.DataAccess.SqlConnectionHelper.GetConnection(String connectionString, Boolean revertImpersonation)
at System.Web.Security.SqlRoleProvider.GetRolesForUser(String username)
at WebMatrix.WebData.SimpleRoleProvider.GetRolesForUser(String username)
at System.Web.Security.RolePrincipal.IsInRole(String role)
at System.Web.Security.Roles.IsUserInRole(String username, String roleName)
at ASP._Page_Views_Shared__LoginPartial_cshtml.Execute() in e:\LeasingWeb\LeasingWeb\Views\Shared\_LoginPartial.cshtml:line 10
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
at System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance)
at System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext …Run Code Online (Sandbox Code Playgroud) 我有一个主页面,其中有一个名为用户的角色的菜单,其他菜单是管理员的角色,所以我愿意检查用户的角色,并显示一些div标签并隐藏其他人用户角色的基础.
因为,我们没有layout.cshtml的控制器,所以我如何为布局视图设置viewModel其中我可以检查当前用户的角色
如何对layout.cshtml进行基于角色的检查.
我一直在通过以下问题,但现在还没有得到回答
如何基于角色显示或隐藏控件 - ASP.NET MVC 4 Razor
那么,请告诉我可能的解决方案以及哪种方式最适合在layout.cshtml中应用基于角色的检查