C# System.ArgumentNullException:值不能为null ASP.NET MVC5
我有一张贷款申请表,该表设置为自动将用户注册为C# System.ArgumentNullException:值不能为null ASP.NET MVC5,c#,asp.net-mvc,asp.net-mvc-4,asp.net-mvc-5,C#,Asp.net Mvc,Asp.net Mvc 4,Asp.net Mvc 5,我有一张贷款申请表,该表设置为自动将用户注册为ApplicationUser。(它更像是寄存器控制器的扩展版本)。我已经调试过,但仍然得到System.ArgumentNullException:值不能为null错误,该错误指向BaseController(返回base.BeginExecuteCore(回调,状态)) BaseController public class BaseController : Controller { #region Protected Methods
ApplicationUser
。(它更像是寄存器控制器的扩展版本)。我已经调试过,但仍然得到System.ArgumentNullException:值不能为null
错误,该错误指向BaseController(返回base.BeginExecuteCore(回调,状态))
BaseController
public class BaseController : Controller
{
#region Protected Methods
protected override IAsyncResult BeginExecuteCore(AsyncCallback callback, object state)
{
string cultureName = RouteData.Values["culture"] as string;
// Attempt to read the culture cookie from Request
if (cultureName == null)
cultureName = Request.UserLanguages != null && Request.UserLanguages.Length > 0 ? Request.UserLanguages[0] : null; // obtain it from HTTP header AcceptLanguages
// Validate culture name
cultureName = CultureUtility.GetImplementedCulture(cultureName);
if (RouteData.Values["culture"] as string != cultureName)
{
// Force a valid culture in the URL
RouteData.Values["culture"] = cultureName.ToLowerInvariant(); // lower case too
Response.RedirectToRoute("Default", RouteData.Values); // Redirect user
}
// Modify current thread's cultures
Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(cultureName);
Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture;
return base.BeginExecuteCore(callback, state);
}
#endregion Protected Methods
}
内部CheckRateController从BaseController继承
// POST: CheckRate/Index
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Index(CheckYourRateViewModel model)
{
if (ModelState.IsValid)
{
var user = new ApplicationUser
{
FirstName = model.FirstName,
LastName = model.LastName,
UserName = model.UserName,
PhoneNumber = model.Phone,
DateOfBirth = model.DateOfBirth,
State = model.State,
Street = model.Street,
City = model.City,
Country = model.Country,
YearlyIncome = model.IndividualYearlyIncome,
AdditionalYearlyIncome = model.AdditionalYearlyIncome,
IsAdmin = YesNo.No,
CashBalance = 0.00M,
IsBorrower = YesNo.Yes,
RegisteredDate = DateTime.Now,
EmploymentStatus = model.EmploymentStatus
};
var result = await UserManager.CreateAsync(user, model.Password);
if (result.Succeeded)
{
await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false);
return RedirectToAction("Index", "Home");
}
AddErrors(result);
}
return View(model);
}
private void AddErrors(IdentityResult result)
{
foreach (var error in result.Errors)
{
ModelState.AddModelError("", error);
}
}
//POST:CheckRate/Index
[HttpPost]
[ValidateAntiForgeryToken]
公共异步任务查看堆栈跟踪这一点很突出:
System.ComponentModel.DataAnnotation.ValidationContext.set_DisplayName(String Value)
我认为可能发生的情况是,您正在使用一个名为空的DisplayAttribute
([DisplayAttribute(Name="")]
这将需要更改,使其包含一些文本,甚至只是间距