2010-04-14 125 views
0

我正在通過NerdDinner ASP.NET MVC 1.0示例。NerdDinner異常處理

我擁有除異常處理以外的所有工作。爲了我自己的利益,我對它進行了很小的修改,但基本上,當我創建違反驗證規則的新記錄時,我得到一個ApplicationException - 而不是突出顯示錯誤字段的表單。

partial void OnValidate(ChangeAction action) 
{ 
    if (!IsValid) 
     throw new ApplicationException("Rule violations prevent saving"); 
} 

..基本上代碼是在這裏(拋出新的異常),然後VS打破例外。

[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult Edit(int id, FormCollection formValues) 
{ 
    Customer c = customerRepository.GetCustomer(id); 
    try 
    { 
     UpdateModel(c); 
     customerRepository.Save(); 
     return RedirectToAction("Details", new { id=c.CustomerId }); 
    } 
    catch 
    { 
     ModelState.AddRuleViolations(c.GetRuleViolations()); 
     return View(c); 
    } 
} 

任何人都可能冒我做錯了什麼?

編輯:我應該補充一點,我確實看過這裏的幾個相關的帖子,但沒有一個是我能看到的完全相同的問題。

回答