我已经开始使用类似的topic,但仍然没有找到最终的解决方案...
所以在这里,我有了一个新的:) ...我正在从头开始开发NerdDinner,现在我要指出的是定义DinnerViewModel的位置。
在these instructions之后(从清单5开始),我来到了这里:
namespace Nerd.Controllers
{
// View Model Classes
public class DinnerViewModel
{
public DinnerViewModel(List<Dinner> dinners)
{
this.Dinners = dinners;
}
public List<Dinner> Dinners { get; private set; }
}
public class DinnerController : Controller
{
private DinnerRepository dinnerRepository = new DinnerRepository();
....
public ActionResult NewDinners()
{
// Create list of products
var dinners = new List<Dinner>();
dinners.Add(new Dinner(/*Something to add*/));
// Return view
return View(new DinnerViewModel(dinners));
}
}
}
另外,此新版本的NerdDinner中的
Dinner
表略有缩短(它包含DinnerID
,Title
,EventDate
和Description
字段)。无论我尝试在此处添加什么
dinners.Add(new Dinner(/*Something to add*/));
,我总是会收到以下错误错误1'Nerd.Model.Dinner'没有
包含采用“ 1”的构造函数
参数C:\ Documents和
设置\ ilija \我的文档\视觉
工作室
2008 \ Projects \ Nerd \ Nerd \ Controllers \ DinnerController.cs 150 25书呆子
因为我是C#和OOP的初学者,所以我不知道该怎么做...我想我需要声明一个构造函数,但是具体如何以及在哪里声明?
谢谢,
伊莱
最佳答案
如果要在新的Dinner对象中初始化值,请使用此构造
dinners.Add(new Dinner() { Title = "DinnerTitle", Description = "DinnerDescription" });
关于c# - ASP.NET MVC Viewmodel的麻烦,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2488672/