这太令人沮丧了,并阻止我继续阅读ASP.NET MVC
,因为其余的主题都建立在这一个之上:我遵循Adam Freeman's book Pro ASP.NET MVC 5.0
这本书,我相信你们中的许多人也研究过它。所以我已经完成了第7章,这是行不通的。我可以调出该网站,但页面右侧没有显示任何产品。Ninject无法找到并正确绑定到存储库
至于我可以在这里调试是我发现: ProductController
没有返回的产品,这点我觉得是因为Ninject
工作不正常 https://github.com/babakinks/MVCExample/blob/master/SportsStore/SportsStore.WebUI/Controllers/ProductController.cs
public class ProductController : Controller
{
private IProductsRepository repository;
public int PageSize = 4;
public ProductController(IProductsRepository productRepository)
{
this.repository = productRepository;
}
public ViewResult List(int page = 1)
{
ProductsListViewModel model = new ProductsListViewModel
{
Products = repository.Products
.OrderBy(p => p.ProductID)
.Skip((page - 1) * PageSize)
.Take(PageSize),
PagingInfo = new PagingInfo
{
CurrentPage = page,
ItemsPerPage = PageSize,
TotalItems = repository.Products.Count()
}
};
return View(model);
}
}
而且我不认为这是因为我的数据库中没有足够的数据,因为我可以查询它们。
只有一点:我不得不在Global.asax.cs
private void RegisterDependencyResolver()
{
var kernel = new StandardKernel();
// you may need to configure your container here?
//RegisterServices(kernel);
DependencyResolver.SetResolver(new NinjectDependencyResolver(kernel));
}
添加此方法如果我不这样做,我会得到一个parameter-less constructor error
为ProductsController
如果你想看看,这里是整个事情: https://github.com/babakinks/MVCExample
非常感谢您花时间测试应用程序。您能否详细解释一下这个问题:“您那边有一个调试问题。” – Bohn 2014-12-09 20:47:30
@Blake:好吧,我克隆了你的git项目,建立了它,在数据库中放入了一些行,它工作。你确定你有数据吗?请记住,ASP.net正在使用App_Data文件夹中的文件。 – Frank 2014-12-09 20:55:02