我正在关注this microsoft.com上的教程。一切正常,直到我到达this 页。我已经复制了Model和连接字符串的确切代码,但是却收到资源未找到的错误。
由于本教程中使用的VS版本与我的版本不同(我的版本是VS 2013)。我已经尝试了所有可以使用Google的解决方案,但没有用。 我试图解决这个问题超过6个小时。
按照评论中的要求编辑帖子:
控制器代码:
namespace MvcMovie.Controllers
{
public class MoviesController : Controller
{
private MovieDBContext db = new MovieDBContext();
// GET: /Movies/
public ActionResult Index()
{
return View(db.Movies.ToList());
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
db.Dispose();
}
base.Dispose(disposing);
}
}
}
视图/电影/Index.cshtml:
@model IEnumerable<MvcMovie.Models.Movie>
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.Title)
</th>
<th>
@Html.DisplayNameFor(model => model.ReleaseDate)
</th>
<th>
@Html.DisplayNameFor(model => model.Genre)
</th>
<th>
@Html.DisplayNameFor(model => model.Price)
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Title)
</td>
<td>
@Html.DisplayFor(modelItem => item.ReleaseDate)
</td>
<td>
@Html.DisplayFor(modelItem => item.Genre)
</td>
<td>
@Html.DisplayFor(modelItem => item.Price)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.ID }) |
@Html.ActionLink("Details", "Details", new { id=item.ID }) |
@Html.ActionLink("Delete", "Delete", new { id=item.ID })
</td>
</tr>
}
</table>
RouteConfig.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
namespace MvcMovie
{
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "Hello",
url: "{controller}/{action}/{name}/{id}"
);
}
}
}
我正在尝试打开:http://localhost:51033/Views/Movies/Index.cshtml 另外,当我检查AppData文件夹时,它为空。因此,不会创建代码优先数据库。
答案 0 :(得分:2)
您以错误的方式请求错误的Url
。 http://localhost:51033/Views/Movies/Index.cshtml
不能是ASP.NET MVC中的Url
。请尝试以下Url
:
http://localhost:51033/Movies/Index
您的问题应该解决!
答案 1 :(得分:0)
在尝试了包括上述答案在内的众多解决方案后,我终于找到了解决问题的方法。我基本上有两个问题:
因此,如果其他任何人都遇到此问题,那么他们可以尝试以下连接字符串:
<add name="MovieDBContext"
providerName="System.Data.SqlClient"
connectionString="Data Source=.;Initial Catalog=MvcMovie;Integrated Security=True" />