我正在使用MVC,我在视图中有关于FK的问题。例如,我有一个User模型和一个Data模型。数据对用户有FK。在DataController的编辑视图中,我从URL获取用户的ID,这非常有效。这种情况发生在我正在处理的几个视图/控制器中。
但我认为,每次使用FK控制器时,检查模型ID是否存在都是一个相当重复的过程。就像通常程序的一个例子一样:
var db = new MyContext();
var user = db.Users.Find(Id);
// verify if user exists
if (user == null )
{
return RedirectToAction("Index");
}
// verify if model is valid
if(!ModelState.IsValid)
{
model.User = user
return View(model)
}
上面的例子只是我代码中反复发生的一个简短例子。我必须多次检查事物的有效性。这通常吗?此外,我的EditDataViewModel有一个User字段,如果Model无效,我必须再次将model.User设置为user。当我有几个引用时,我必须多次重置它们。
我尝试使用代码
@Html.HiddenFor(m => m.User)
并且它无法正常工作。在我的控制器上,收到的model.User为空。
如果我按照通常的方式做这件事,或者是否有一种更美妙的做法,那么sombody会指出我吗?