我想要NerdDinner工作,並有一些麻煩。書呆子晚餐,可能是一個極端noob問題,列表晚餐
我很快就注意到actionResult for index發生的地方,並且看到dinnerRepository中的項目位於asignment運算符的右側。
但是,當我逐步瀏覽到代碼的下一行時,傳遞給視圖的dinners不包含記錄集。
任何人都可以指出我出錯的地方。
結果是頁面呈現完美,但沒有記錄顯示。
namespace NerdDinner.Controllers
{
public class DinnersController : Controller
{
DinnerRepository dinnerRepository = new DinnerRepository();
// GET: /Dinners/
public ActionResult Index()
{
var dinners = dinnerRepository.FindUpcomingDinners().ToList();
return View("Index", dinners);
}
// GET: /Dinners/Details/2
public ActionResult Details(int id)
{
Dinner dinner = dinnerRepository.GetDinner(id);
if (dinner == null)
return View("NotFound");
else
return View("Details", dinner);
}
}
}
這裏是視圖代碼以及
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<NerdDinner.Models.Dinner>>" %>
<asp:Content ID="Main" ContentPlaceHolderID="MainContent" runat="server">
<h2>Upcoming Dinners</h2>
<ul>
<% foreach (var dinner in Model)
{%>
<li>
<%= Html.Encode(dinner.Title)%>
on
<%= Html.Encode(dinner.EventDate.ToShortDateString())%>
@
<%= Html.Encode(dinner.EventDate.ToShortTimeString())%>
</li>
<% } %>
</ul>
</asp:Content>
和型號代碼以及
公共類DinnerRepository { 私人NerdDinnerDataContext分貝=新NerdDinnerDataContext();
// Query Methods
public IQueryable<Dinner> FindAllDinners()
{
return db.Dinners;
}
public IQueryable<Dinner> FindUpcomingDinners()
{
return from dinner in db.Dinners
where dinner.EventDate > DateTime.Now
orderby dinner.EventDate
select dinner;
}
public Dinner GetDinner(int id)
{
return db.Dinners.SingleOrDefault(d => d.DinnerID == id);
}
// Insert/Delete Methods
也許這是因爲您使用的是「DinnerRepository」而不是「DinerRepository」:) – scottm 2009-06-24 00:55:29
我非常非常尷尬,代碼沒有錯。這與數據庫中的數據有關。 感謝您的支持 – 2009-06-24 23:11:52