2011-02-27 65 views
6

我是MVC的新手。我正在通过以下 tutorialViewModel MVC 3

我的一部分,其中它要求下面的代码

[HttpPost] 
public ViewResult Edit(UserModel um) 
{ 

    if (!TryUpdateModel(um)) 
    { 
    ViewModel.updateError = "Update Failure"; 
    return View(um); 
    } 

    // ToDo: add persistent to DB. 
    _usrs.Update(um); 
    return View("Details", um); 
} 

当我尝试使用视图模型我收到一个错误:

“这个名字视图模型并不在当前的背景下存在。 “

智能感知不显示ViewModel作为选项。

回答

10

ViewModel对于mvc 3控制器不存在。我想你在找什么,而不是使用如下:

ViewBag.UpdateError = "Update Failure"; 

然后在您的视图:

@View.UpdateError 
3

我知道这是有点晚,但它可能是更好的做法是使用以下:

ModelState.AddModelError("", "Update Failure"); 

然后,在你的看法:

@Html.ValidationSummary(true) 
0

而不是 ViewModel.UpdateError =“更新失败”;

使用

ViewBag.UpdateError = “更新失败”;

,并在您查看,使用此

@ ViewBag.UpdateError