我的错误如下:
>应用程序中的服务器错误。未找到视图“登录”或其主控,或者没有视图引擎支持搜索的位置。搜索了以下位置:
~/Views/User/Login.aspx
~/Views/User/Login.ascx
~/Views/Shared/Login.aspx
~/Views/Shared/Login.ascx
~/Views/User/Login.cshtml
~/Views/User/Login.vbhtml
~/Views/Shared/Login.cshtml
~/Views/Shared/Login.vbhtml^
查看/登录/ Login.cshtml:
@{
ViewBag.Title = "Login";
}
@{
if (!ViewData["uname"].Equals(null) )
{
<div>
Username: @ViewData["uname"]
@Session["uname"] = @ViewData["uname"]
</div>
}
}
<h2>Login</h2>
<h4>Username:</h4>
<input type="text" name="uname" value=" " />
<button />
控制器/ Usercontroller.cs:
public class UserController : Controller
{
//
// GET: /User/
public ActionResult Index()
{
return View();
}
public ActionResult Login()
{
return View();
}
}
Global.asax.cs(仅限方法):
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
//new { controller = "Product", action = "List", id = UrlParameter.Optional } // Parameter defaults
new { controller = "User", action = "Login", id = UrlParameter.Optional }
);
}
答案 0 :(得分:5)
您说您的观点位于观看/登录文件夹中,但它应位于观看/用户文件夹中。
通过以下方式找到它视图/&lt; ControllerName&gt; /&lt; ActionName&gt; .cshtml 。
答案 1 :(得分:1)
1)“用户”应该是视图下的文件夹。 “登录”应为cshtml文件或“登录”应为aspx文件。
2)在
中提供全名public ActionResult Login()
{
return View("~/User/Login");
}