如何在视图中处理FK

时间:2016-01-30 11:26:39

标签: c# asp.net asp.net-mvc

我正在使用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会指出我吗?

0 个答案:

没有答案