【发布时间】:2016-01-01 20:30:15
【问题描述】:
我有一个 ASP.NET MVC4 项目。当它被制作时,他们删除了上面的会员部分,因为他们不需要它。我现在需要向它添加用户帐户。我首先通过取消注释成员部分并安装正确的依赖项来尝试此操作,但它不起作用。
然后我决定将项目升级到 MVC 5 并为其添加 Identity。这是因为我有 MVC 5 和 Identity 的经验,而不是会员资格。升级很顺利,然后我将 Identity 和 Owin nuggets 添加到项目中。
到目前为止一切顺利,我检查了版本是否正确和最新。我注意到帐户控制器没有自动更新,仍然是旧的会员。我用自动生成的控制器和用户帐户创建了一个新的 MVC5 项目,并复制了帐户控制器代码。这是我开始遇到问题的地方。
有些类没有生成/生成,例如 IdentityConfig.cs 和 AccountViewModels.cs。我也从我制作的干净 MVC 5 项目中复制了这些内容。在此过程中,我还必须添加一些额外的参考资料。
现在的问题是无法识别 AccountViewModels.cs 和 AccountController.cs 内部的任何内容。资源、视图、RedirectToAction 和 System.Web.Mvc.ModelState 等内容出现错误。错误都是“在当前上下文中不存在”或“不包含 x、y、z 的定义”。
我不知道为什么,所有的 using 语句都在那里,引用是最新的。我已经尝试了很多东西,但我现在想不出要尝试什么。
我的帐户控制器和帐户视图模型代码都是标准自动生成的代码,如果需要,我可以在问题中复制它,但由于它太多了,我认为最好省略它。这是我在 AccountController.cs 中使用的语句。
using System;
using System.Globalization;
using System.Linq;
using System.Security.Claims;
using System.Threading.Tasks;
using System.Web;
using System.Web.Mvc;
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.Owin;
using Microsoft.Owin.Security;
using System.Net.Mail;
using System.Web.Configuration;
using Microsoft.Owin.Host.SystemWeb;
using Emenka.HumanResources.Application.Models;
using Emenka.HumanResources.Application.App_Start;
更新 1
给出错误的代码 sn-p,这里 ViewBag 和 View 都给出“当前上下文中不存在”错误:
// GET: /Account/Login
[AllowAnonymous]
public ActionResult Login(string returnUrl)
{
ViewBag.ReturnUrl = returnUrl;
return View();
}
【问题讨论】:
标签: asp.net-mvc-4 visual-studio-2013 asp.net-mvc-5 asp.net-identity