我不知道如何实现这一点,我在控制器文件夹MovieController.cs,并在模型文件夹中的MovieCreateViewModel.cs。我需要为创建,编辑和删除视图添加验证。如何使用一个单独的模型类验证在MVC
MovieDetailsViewModel.cs
public class MovieDetailsViewModel
{
public int Id { get; set; }
}
然后我有我做的参数列表 我在哪里,从这里去请类型MovieDetailsViewModel id
的httpPost MovieController.cs
public class MovieController : Controller
{
Connect connection;
MovieCreateViewModel movie;
MovieDetailsViewModel id;
public MovieController()
{
this.connection = new Connect();
this.movie = new MovieCreateViewModel();
this.id = new MovieDetailsViewMode();
}
public ActionResult Edit(MovieDetailsViewModel id)
{
movie = this.connection.MovieContext.Where(m => m.ID == id).SingleOrDefault(); **//I get an error here**
return View(movie);
}
//
// POST: /Movie/Edit/5
[HttpPost]
public ActionResult Edit(MovieCreateViewModel movieedit)
{
try
{
if (ModelState.IsValid)
{
this.connection.MovieContext.AddObject(movieedit);
this.connection.MovieContext.Context.SaveChanges();
return RedirectToAction("Index");
}
}
catch
{
return View(movieedit);
}
}
?
感谢
你去通过MVC教程HTTP://www.asp.net/mvc/tutorials/getting-started-with-aspnet-mvc3/cs /添加验证模型 – 2012-07-13 08:11:25
请参阅上面的代码我用编辑的验证替换它看到这是我得到与lambda表达式的错误。谢谢 – 2012-07-13 08:24:54
首先,在您的编辑(GET)方法中,我可以看到您将视图模型指定为参数本身而不是int。这是一个错字吗?如果不是,请注意,您不必指定整个Viewmodel,它可以只是公共的ActionResult Edit(int id)。放一个断点,看看你作为id得到什么。而且你不必过滤哪里,然后通过单或默认过滤。的SingleOrDefault将做的工作.. – 2012-07-13 08:32:40