我是Asp.net mvc 4的新手。我在Model部分创建了一个名为“User”的类。然后我创建了这个类的对象并将其发送到一个视图。我将“@model projectName.Model.User”添加到View部分。执行后出现此错误('/'应用程序中的服务器错误)。我该怎么处理? 非常感谢。
namespace Sprint1.Controllers
{
public class LoginController : Controller
{
//
// GET: /Login/
public ActionResult Index()
{
Models.User Ouser = new User();
return View(User);
}
[HttpPost]
public ActionResult SignUp()
{
return View();
}
}
}
这部分是我的第一个动作视图。
@model Sprint1.Models.User
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/Layouts/_LayoutPage.cshtml";
}
<h2>Login Page</h2>
@using (Html.BeginForm("SignUp", "Login", FormMethod.Post))
{
<fieldset>
<legend> Login</legend>
<p>
<label for="Name">Name:</label>
@Html.TextBoxFor(User => User.name)
</p>
<p>
<input type="submit" id="submit" value="submit" onclick=return("~/Views/SignUp") />
</p>
</fieldset>
}
错误页面是:
>应用程序中的服务器错误。传递到字典中的模型项的类型为“System.Security.Principal.WindowsPrincipal”,但此字典需要“Sprint1.Models.User”类型的模型项。
描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.InvalidOperationException:传递到字典中的模型项的类型为“System.Security.Principal.WindowsPrincipal”,但此字典需要“Sprint1.Models.User”类型的模型项。
来源错误:
在执行当前Web请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息。
答案 0 :(得分:0)
在您的索引操作方法中,将View(User)
替换为View(Ouser)
public ActionResult Index()
{
Models.User Ouser = new User();
// User is a property in your controller with type of `IPrincipal`
// But your new user variable name is Ouser;
//return View(User);
return View(Ouser);
}