从控制器内部的数据我非常新的ASP.NET MVC3但我有大约4年的PHP框架方面的经验。使用modelstate.isvalid来验证MVC3
我试图建立一个MVC3 Web应用程序,但我有我的validationg模型的问题。 这里是一个测试控制器,告诉你我正在尝试没有成功。
我试图将值传递给我的控制器内部模型,但它不把它考虑的参数。
我试过对于junk.sentence使用modelstate.setmodelvalue,但是它保持POST请求的值无效,我想在控制器中默认更改(用于测试目的)。
任何人都可以帮忙吗?
在此先感谢。
迈克尔
[HttpPost]
public ActionResult Create(Junk junk)
{
//ModelState.Clear();
junk.sentence = "coucou";
ModelState.SetModelValue("sentence", new ValueProviderResult(junk.sentence, junk.number, null));
//ModelState
if (ModelState.IsValid)
{
db.Junks.Add(junk);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(junk);
}
//
// GET: /Junk/Edit/5
public ActionResult Edit(int id)
{
Junk junk = db.Junks.Find(id);
return View(junk);
}
与解决方案的问题是,它不验证“句”了,因为现在它是一个常量字符串,但后来我想提出的变量...我将想验证。但感谢您的回答! – 2012-02-24 15:21:21
@MichaelCh,哎呀,的确如此。我已经更新了我的答案,并在返回视图之前移动了“ModelState.Remove”。 – 2012-02-24 15:22:30
还有一个问题在这种情况下,因为现在modelstate.isvalid犯规考虑到“垃圾”模式的新的价值... 我不能有一个HTML帮手在我看来,因为我有一个多对多的关系,所以我使用复选框,我会从的FormCollection ... – 2012-02-24 15:35:34