Tag: asp.net mvc 5

MVC 5.0 和新的IAuthenticationFilter

当我创建一个新的asp.net mvc 4.0应用程序时, 我做的第一件事就是创建并设置一个自定义授权global filter如下所示: //FilterConfig.cs public static void RegisterGlobalFilters(GlobalFilterCollection filters) { //filters.Add(new HandleErrorAttribute()); filters.Add(new CustomAuthorizationAttribute()); } 然后我像这样创建CustomAuthorizationAttribute : //CustomAuthorizationAttribute.cs protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext) { if (filterContext.HttpContext.Request.IsAjaxRequest()) { //Handle AJAX requests filterContext.HttpContext.Response.StatusCode = 403; filterContext.Result = new JsonResult { JsonRequestBehavior = JsonRequestBehavior.AllowGet }; } else { //Handle regular requests base.HandleUnauthorizedRequest(filterContext); //let FormsAuthentication make the […]

如何在用户注册期间添加声明

我正在使用带有身份2.1.0和VS2013 U4的ASP.NET MVC 5项目。 我想在注册期间向用户添加声明,以便存储在db中。 这些声明代表用户自定义属性。 当我为管理员创建一个用于创建/编辑/删除用户的网页时,我仍然使用AccountController create方法创建用户,但我不想登录该用户。 如何将这些声明添加到用户?

MVC5:Enum单选按钮,标签为displayname

我有这些枚举 public enum QuestionStart { [Display(Name=”Repeat till common match is found”)] RepeatTillCommonIsFound, [Display(Name=”Repeat once”)] RepeatOnce, [Display(Name=”No repeat”)] NoRepeat } public enum QuestionEnd { [Display(Name=”Cancel Invitation”)] CancelInvitation, [Display(Name=”Plan with participants on first available common date”)] FirstAvailableCommon, [Display(Name=”Plan with participants on my first available common date”)] YourFirstAvailableCommon } 我有一个帮助类来显示枚举中每个字段的所有单选按钮 @model Enum @foreach (var value in Enum.GetValues(Model.GetType())) { […]

为用户创建头像上传表单

我正在使用ASP.Net MVC 5,我想为我的用户配置文件创建一个头像。 我不确定到目前为止我做的是不是正确的方式,特别是出于安全考虑,所以我想得到一些建议。 到目前为止我在做什么 在视图中: @using (Html.BeginForm(“ManageUser”, “Account”, FormMethod.Post, new { enctype = “multipart/form-data” })) { } 在控制器中: internal static bool SaveAvatar(User user, HttpPostedFileBase file) { if (file == null || file.ContentLength MAX_LENGTH) return false; //I think I should convert the file somehow instead of saving it var path = HostingEnvironment.MapPath(“~/img/avatar/”) + string.Format(“{0}.png”, user.UserName); […]

mvc 5表中的SelectList,DropDownList为空值

我使用下面的代码创建一个下拉列表 调节器 ViewBag.Id= new SelectList(db.TableName.OrderBy(x => x.Name),”Id”,”Name”) 视图 @Html.DropDownList(“Id”, null, htmlAttributes: new { @class = “form-control” }) 我的问题是如何修改SelectList以添加空白项目,以便为DropDownList自动添加空白项目。 谢谢。

使用具有entity framework6的存储库模式更新记录

我正在编写一个简单的博客应用程序,并尝试在我的通用存储库模式中建立CRUD操作,但我的更新方法出现错误,说: ‘System.Data.Entity.DbSet’不包含’Entry’的定义,并且没有扩展方法’Entry’可以找到接受类型’System.Data.Entity.DbSet’的第一个参数(你是否缺少using指令)或汇编参考?) 我跟着一篇post解释了如何通过在DbContext上添加额外的间接级别来“伪造”Entry()。 但是在MVC 5中我们inheritance自: IdentityDbContext而不是DbContext。 我确实尝试实现作者修复,但错误仍然存​​在。 我的问题 如何使用IdentityDbContext将更新方法添加到Entity Framework 6中的存储库? 如果我们不应该这样做,那么如何使用这种模式更新记录? 我应该注意到其他所有方法都按预期工作。 我的通用存储库: public class BlogEngineRepository : IRepository where T : class { protected DbSet DbSet; public BlogEngineRepository(DbContext dataContext) { DbSet = dataContext.Set(); } #region IRepository Members public void Insert(T entity) { DbSet.Add(entity); } public void Delete(T entity) { DbSet.Remove(entity); } public void Update(T […]

MVC5帐户控制器空引用exception

我正在尝试将用户角色实现到我的MVC Web应用程序中。 但是我在行return _userManager ?? HttpContext.GetOwinContext().GetUserManager();上得到一个nullexceptionreturn _userManager ?? HttpContext.GetOwinContext().GetUserManager(); return _userManager ?? HttpContext.GetOwinContext().GetUserManager(); 在我的帐户控制器中。 账户管理员 [Authorize] public class AccountController : Controller { private ApplicationSignInManager _signInManager; private ApplicationUserManager _userManager; private ApplicationRoleManager _roleManager; public AccountController(){} public AccountController(ApplicationUserManager userManager, ApplicationSignInManager signInManager, ApplicationRoleManager roleManager) { UserManager = userManager; SignInManager = signInManager; RoleManager = roleManager; } public ApplicationRoleManager RoleManager { […]

mvc 5检查用户角色

如何在mvc 5中找到登录用户的角色? 我通过此代码创建了用户 private bool AddUserAndRole() { IdentityResult ir; var rm = new RoleManager (new RoleStore(new ApplicationDbContext())); ir = rm.Create(new IdentityRole(“admin”)); var user = new ApplicationUser() { UserName = “Admin” }; var result = UserManager.Create(user, “somepassword”); UserManager.AddToRole(user.Id, “admin”); return true; } 我在该网站上登录之后。 如何在控制器中我可以检查该用户是否有角色==“admin”? 我发现只有一种看起来不那么快的方法。 var rm = new RoleManager(new RoleStore(new ApplicationDbContext())); var role = rm.FindByName(“admin”); […]

MVC 5中的System.Data.Entity.Core.ProviderIncompatibleexception

我在mvc5中创建一个ASP.NET Web应用程序,我用控制器创建了一个模型类。 我的应用程序正在运行,但是当我想在url中访问我的moviescontroller,如localhost:1234 / Movies时,它会在我的MoviesController.cs文件中生成exception 我正在使用的连接字符串是 生成此exception的函数是 public ActionResult Index() { return View(db.Movies.ToList()); } 编辑exception详细信息 EntityFramework.dll中发生了’System.Data.Entity.Core.ProviderIncompatibleException’类型的exception,但未在用户代码中处理 附加信息:从数据库获取提供程序信息时发生错误。 这可能是由entity framework使用不正确的连接字符串引起的。 检查内部exception以获取详细信息,并确保连接字符串正确。 内部exception详情: System.Data.Entity.Core.ProviderIncompatibleException was unhandled by user code HResult=-2146233087 Message=An error occurred while getting provider information from the database. This can be caused by Entity Framework using an incorrect connection string. Check the inner exceptions for […]

如何为ASP.NET MVC 5创建dependency injection?

使用ASP.NET Core创建dependency injection非常简单。 文档在这里解释得非常好,这个家伙有一个杀手video来解释它。 但是,我想对我的ASP.NET MVC 5项目做同样的事情。 如何处理ASP.MVC 5的dependency injection? 此外,dependency injection仅限于控制器,还是可以与任何类一起使用?