Questions tagged «asp.net-mvc-5»

ASP.NET MVC 5是用于Web应用程序的ASP.NET Model-View-Controller平台的第五个主要版本。

12
MVC 5访问声明身份用户数据
我正在使用Entity Framework 5 Database First方法开发MVC 5 Web应用程序。我正在使用OWIN进行用户身份验证。下面显示了我的帐户控制器中的登录方法。 public ActionResult Login(LoginViewModel model, string returnUrl) { if (ModelState.IsValid) { var user = _AccountService.VerifyPassword(model.UserName, model.Password, false); if (user != null) { var identity = new ClaimsIdentity(new[] { new Claim(ClaimTypes.Name, model.UserName), }, DefaultAuthenticationTypes.ApplicationCookie, ClaimTypes.Name, ClaimTypes.Role); identity.AddClaim(new Claim(ClaimTypes.Role, "guest")); identity.AddClaim(new Claim(ClaimTypes.GivenName, "A Person")); identity.AddClaim(new Claim(ClaimTypes.Sid, …



6
EntityType'IdentityUserLogin'没有定义键。定义此EntityType的键
我正在使用Entity Framework Code First和MVC5。使用个人用户帐户身份验证创建我的应用程序时,我被赋予了一个帐户控制器,并与之一起获得Indiv用户帐户身份验证才能正常工作的所有必需的类和代码。 。 其中已经存在的代码如下: public class ApplicationDbContext : IdentityDbContext<ApplicationUser> { public ApplicationDbContext() : base("DXContext", throwIfV1Schema: false) { } public static ApplicationDbContext Create() { return new ApplicationDbContext(); } } 但是后来我继续使用代码先创建了自己的上下文,因此现在也有了以下内容: public class DXContext : DbContext { public DXContext() : base("DXContext") { } public DbSet<ApplicationUser> Users { get; set; } …

11
“路由器出口”不是已知元素
我有一个带有尖角前端的mvc 5项目。我想按照本教程https://angular.io/guide/router中的描述添加路由。所以在我中_Layout.cshtml我添加了一个 <base href="/"> 并在我的app.module中创建了路由。但是当我运行它时,出现以下错误: Error: Template parse errors: 'router-outlet' is not a known element: 1. If 'router-outlet' is an Angular component, then verify that it is part of this module. 2. If 'router-outlet' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this …

7
MVC 5种子用户和角色
我一直在玩新的MVC 5,我有一些使用代码优先迁移的模型,控制器和视图设置。 我的问题是如何播种用户和角色?目前,我在Configuration.cs的Seed方法中植入了一些参考数据。但是在我看来,直到第一次击中AccountController才创建用户和角色表。 我目前有两个连接字符串,因此可以将身份验证中的数据分离到不同的数据库中。 如何获取用户,角色等表格以及其他表格?而不是当帐户控制器被击中时?

9
带有EF数据库优先MVC5的ASP.NET身份
是否可以将新的Asp.net标识与Database First和EDMX一起使用?还是仅使用代码? 这是我所做的: 1)我创建了一个新的MVC5项目,并让新的Identity在我的数据库中创建了新的User和Roles表。 2)然后,我打开了Database First EDMX文件,并将其拖到新的Identity Users表中,因为我还有其他与此表相关的表。 3)保存EDMX后,数据库优先POCO生成器将自动创建一个User类。但是,UserManager和RoleManager希望从新的Identity命名空间(Microsoft.AspNet.Identity.IUser)继承一个User类,因此使用POCO User类将不起作用。 我想可能的解决方案是编辑POCO生成类以使我的User类继承自IUser? 还是ASP.NET Identity仅与Code First Design兼容? ++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++ 更新:按照安德斯·阿贝尔(Anders Abel)的建议,这就是我所做的。它的工作,但我想知道是否有一个更优雅的解决方案。 1)通过在与我的自动生成的实体相同的名称空间中创建局部类,扩展了实体User类。 namespace MVC5.DBFirst.Entity { public partial class AspNetUser : IdentityUser { } } 2)我将DataContext更改为从IdentityDBContext继承,而不是从DBContext继承。请注意,每次更新EDMX并重新生成DBContext和Entity类时,都必须将其设置为此。 public partial class MVC5Test_DBEntities : IdentityDbContext<AspNetUser> //DbContext 3)在自动生成的User实体类中,您必须将override关键字添加到以下4个字段中,或将这些字段注释掉,因为它们是从IdentityUser继承的(步骤1)。请注意,每次更新EDMX并重新生成DBContext和Entity类时,都必须将其设置为此。 override public string Id { get; set; } override …

6
如何获得'System.Web.Http,Version = 5.2.3.0?
我刚刚创建了一个MVC5项目,并从nuget中添加了几个软件包,但是当我编译该项目时,出现了此错误。似乎其中一个软件包确实取决于system.web.http版本5.2.3.0,我在任何地方都找不到。我只是想知道如何获取system.web.http的最新版本? 错误2程序集'System.Web.Http.WebHost,Version = 5.2.3.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'使用'System.Web.Http,Version = 5.2.3.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'比参考程序集'System.Web.Http,Version = 5.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'更高的版本 d:\ Backup 2014-12-25 \ Website-Projects \ www.ptsol.com.au \ packages \ Microsoft.AspNet.WebApi.WebHost.5.2.3 \ lib \ net45 \ System.Web.Http.WebHost.dll

21
自创建数据库以来,支持“ ApplicationDbContext”上下文的模型已更改
首先,在其他任何地方都没有看到此错误,我想这不是重复错误,因此请先阅读整个情况。 一切工作都很好,然后我尝试更新我的一个模型类(App类,现在对更新进行评论),我将在下面列出。和繁荣我有这个丑陋的错误。 自创建数据库以来,支持“ ApplicationDbContext”上下文的模型已更改。考虑使用“代码优先迁移”来更新数据库(http://go.microsoft.com/fwlink/?LinkId=238269)。System.Data.Entity.CreateDatabaseIfNotExists1.InitializeDatabase(TContext context) at System.Data.Entity.Internal.InternalContext.<>c__DisplayClassf上的System.Data.Entity.Internal.InternalContext.PerformInitializationAction(b)处的System.Data.Entity.Internal.InternalContext.PerformDatabaseInitialization()处的Action动作。 System.Data.Entity.Internal.RetryAction 1.PerformAction(TInput input) at System.Data.Entity.Internal.LazyInternalContext.InitializeDatabaseAction(Action1动作的Internal.LazyInternalContext.b__4(System.Data.Entity.Internal.LazyInternalContext.InitializeDatabase()的System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type)实体类型)位于System.Data.Entity.Internal.Linq.InternalSet1.Initialize() at System.Data.Entity.Internal.Linq.InternalSet1.System.Data.Entity.Infrastructure.DbQuery的1.Include(String路径),Microsoft.AspNet.Identity的1.Include(String path) at System.Data.Entity.QueryableExtensions.Include[T](IQueryableSystem.Data.Entity.QueryableExtensions.Include [T,TProperty](IQueryable 1 source, Expression1路径)处的String路径。6.GetUserAggregateAsync(ExpressionMicrosoft.AspNet.Identity.EntityFramework.UserStore 6.FindByNameAsync(String userName) at Microsoft.AspNet.Identity.UserManager2.FindByNameAsync(String userName)在Microsoft.AspNet.Identity.UserManager`2.d__12.MoveNext()的EntityFramework.UserStore 1筛选器)---从上一个位置开始的堆栈跟踪结束在d的System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)的System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)的ControlPanel.Web.Controllers.AccountController.d__2.MoveNext()中引发了异常:\ Projects \ FULL \控制面板\ ControlPanel.Web \ Controllers \ AccountController.cs:第56行 起初我以为可能是迁移问题,所以我完全删除了数据库,重新启用了迁移,然后添加了Init迁移并使用 update-database -force -verbose 一切顺利,没有任何抱怨,但是,每当我尝试登录到我的网站时,我都会收到先前的错误。我无法解决问题大约做了十次迁移。 这是我的领域类(模型): public class App { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public virtual …

11
在Asp.net Identity MVC 5中创建角色
关于使用新的Asp.net身份安全框架的文档很少。 我拼凑了可以尝试创建的新角色并向其中添加用户的方法。我尝试了以下操作:在ASP.NET Identity中添加角色 看起来好像已经从该博客中获取了信息:使用asp.net身份构建一个简单的待办事项应用程序并将用户与待办事项相关联 我已将代码添加到只要模型更改就运行的数据库初始化程序。该RoleExists函数失败,出现以下错误: System.InvalidOperationException 发生在mscorlib.dll中。实体类型IdentityRole不是当前上下文模型的一部分。 protected override void Seed (MyContext context) { var UserManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context)); var RoleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context)); // Create Admin Role string roleName = "Admins"; IdentityResult roleResult; // Check to see if Role Exists, if not create it if (!RoleManager.RoleExists(roleName)) { …

2
异步PartialView导致“ HttpServerUtility.Execute被阻止…”异常
我有一个局部视图试图IEnumerable<Post>使用异步从数据库中检索一个... 方法 public static class PostService { public static int PostsPerPage = 50; public static async Task<IEnumerable<Post>> GetRecentAsync(int page = 0) { return await entityFrameworkDbContext.Posts .ToListAsync(); } } 局部视图 public async Task<ActionResult> Recent(int page = 0) { return PartialView(await PostService.GetRecentAsync(page)); } 然后,如果我尝试称呼它 @Html.Action("Recent", "Post") 我得到以下异常 HttpServerUtility.Execute在等待异步操作完成时被阻止。 说明:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其在代码中起源的更多信息。 异常详细信息:System.InvalidOperationException:HttpServerUtility.Execute在等待异步操作完成时被阻止。 为什么会出现此错误?不行吗


7
重命名ASP.NET MVC项目时出错
我已经复制了以前的项目并将其重命名。一旦我成功重命名了所有名称空间,它就会正确构建。运行应用程序时出现以下错误: The following errors occurred while attempting to load the app. - The OwinStartup attribute discovered in assembly 'User Manager Interface' referencing startup type 'User_Manager_Interface.Startup' conflicts with the attribute in assembly 'Service Monitor Web Interface' referencing startup type 'Service_Monitor_Web_Interface.Startup' because they have the same FriendlyName ''. Remove or rename one …

5
如何从javascript中的Razor Model对象获取JSON对象
在viewmodel对象中,以下是属性: public IList<CollegeInformationDTO> CollegeInformationlist { get; set; } 在VIEW中,javascript如下: var obj = JSON.stringify('@Model.CollegeInformationlist'); alert(obj[1].State); //NOT WORKING, giving string char $.each('@Model.CollegeInformationlist', function (i, item) { var obj = JSON.stringify(item); var r = $.parseJSON(obj); alert(r.State); //just giving undefined. }); 请在这里指导,我如何在javascript中获取JSON对象。

5
MVC5声明Authorize属性的版本
我正在尝试使用MVC5和新的OWIN身份验证中间件在VS2013 RC中进行一些新操作。 因此,我习惯于使用该[Authorize]属性按角色来限制操作,但是我尝试使用基于声明/活动的授权,但找不到与其等效的属性。 是否有明显的我想念的东西,还是我需要自己动手?我有点希望开箱即用。 我要寻找的具体是[Authorize("ClaimType","ClaimValue")]我所想的东西。 提前致谢。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.