查看无法找到。

时间:2011-11-02 11:41:33

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

我的错误如下:

应用程序中的服务器错误。

未找到视图“登录”或其主控,或者没有视图引擎支持搜索的位置。搜索了以下位置:

~/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 }

                );

        }

2 个答案:

答案 0 :(得分:5)

您说您的观点位于观看/登录文件夹中,但它应位于观看/用户文件夹中。

通过以下方式找到它视图/&lt; ControllerName&gt; /&lt; ActionName&gt; .cshtml

答案 1 :(得分:1)

1)“用户”应该是视图下的文件夹。 “登录”应为cshtml文件或“登录”应为aspx文件。

2)在

中提供全名
public ActionResult Login()
{
    return View("~/User/Login");
}