2011-02-27 103 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