【发布时间】:2018-07-23 11:23:56
【问题描述】:
我遇到了一个小问题,因为我不确定如何将我在控制器中生成的数据传递给我的视图。
我有一个 View1,在我提交此表单后,字符串进入我的控制器,在那里它们被解析为 DateTime,并使用 LINQ 从我的数据库中获取符合条件的数据。我想把这个生成的数据传递给一个视图,以便我可以写出来。
不确定我的逻辑是不正确还是我遗漏了什么。
我的表单视图:
@{
ViewBag.Title = "ViewMovies";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Select date range for movies</h2>
@using (Html.BeginForm("ViewMovies", "ViewMovies"))
{
<input type="text" name="dateFrom" />
<input type="text" name="dateTo" />
<input type="submit" />
}
我的控制者:
private ApplicationDbContext _context;
public ViewMoviesController()
{
_context = new ApplicationDbContext();
}
[Authorize]
public ActionResult ViewMvovies()
{
return View();
}
[Authorize]
[HttpPost]
public ActionResult ViewMovies(string dateFrom, string dateTo)
{
DateTime fromDate = DateTime.Parse(string.Format(dateFrom)).Date;
DateTime toDate = DateTime.Parse(string.Format(dateTo)).Date;
var movies = _context.Movies.ToList().Where(g => g.DateTime > fromDate && g.DateTime < toDate);
return View("ViewMovies2");
}
我的第二个观点:
@model IEnumerable<movies.Models.Movies>
@{
ViewBag.Title = "ViewMovies2";
}
<h2>Movie list</h2>
<ul class="movies">
@foreach (var movie in Model)
{
<li>
<div class="date">
<div class="month">
Month @movie.DateTime.ToString("MMM")
</div>
<div class="day">
Day @movie.DateTime.ToString("d ")
</div>
</div>
<div class="details">
<span class="category">
Category @movie.Category.Name
</span>
</div>
<div>
<span class="cost">
Cost @movie.Cost
</span>
</div>
</li>
}
</ul>
第二个视图页面很可能是不正确的,它只是我试图写的东西,但它没有工作。
错误: 对象引用未设置为对象的实例。
在线: (第二个视图)
@foreach(模型中的 var 电影)
异常详细信息:System.NullReferenceException:对象引用未设置为对象的实例。
【问题讨论】:
标签: asp.net asp.net-mvc entity-framework