如何在mvc 4中返回值

时间:2015-01-26 06:55:15

标签: c# asp.net-mvc-4

如何解决此错误

  

传递到字典中的模型项的类型为“System.Security.Principal.GenericPrincipal”,但此字典需要“MvcbetaSite.Models.RegClass”类型的模型项。

public  ActionResult Register(RegClass NewUser)
{
  if (ModelState.IsValid)
  {
    try
    {
      using (DBClassesDataContext DB = new DBClassesDataContext())
      {
        var name = NewUser.Name;
        ModelState.Clear();
        DB.Dispose();
        ViewBag.Message = name;
      }
    }
    catch (Exception ex)
    {
      ViewBag.Message = ex.Message;
    }
  }
  return View(User);
}

注册班级

@model MvcbetaSite.Models.RegClass

@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)

@Html.EditorFor(model => model.LastName)
@Html.ValidationMessageFor(model => model.LastName)

2 个答案:

答案 0 :(得分:0)

用户是System.Security.Principal.GenericPrincipal类型,您指定

@model MvcbetaSite.Models.RegClass
在视图中

。您的观点是期待MvcbetaSite.Models.RegClass,而不是System.Security.Principal.GenericPrincipal。

答案 1 :(得分:0)

return View(User);

您正在将全局变量传递到视图(来自System.Security.Principal.GenericPrincipal命名空间)

您可能想要做的是将newUser变量传递到视图中(这是您的视图所期望的类型)

@model MvcbetaSite.Models.RegClass