2011-02-10 97 views
0

以下代碼有效。但問題是,當我點擊編輯鏈接編輯產品時,所有文本框都被清除,但錯誤信息正在工作。發生這種情況的原因是選擇了強類型視圖類,其中包含帶正則表達式的錯誤消息。該類也被用於創建操作。問題是如果文本保持空白或輸入無效數據並且用戶試圖在這些條件下保存,我想包括錯誤消息。如果可能的話,如何做到這一點。我正在使用VS 2010,MVC C#,ADO.NET。編輯ASP.NET MVC的操作驗證

[HttpPost] 
public ActionResult Edit(int id, FormCollection collection, 
         ProductCategory editCategory) 
{ 
    if (!ModelState.IsValid) 
    { 
      return View(editCategory); 
    } 

    var categoryToUpdate = db.ProductCategories.First(m => 
    m.ProductCategoryID == id); 
    ViewData.Model = categoryToUpdate; 
    TryUpdateModel(categoryToUpdate, new string[] { }, 
    collection.ToValueProvider()); 
    db.AddToProductCategories(editCategory); 
    db.SaveChanges(); 
    return View("/"); 
} 

回答

0

您需要將模型寄回。

如果你的看法被命名爲編輯你只需要:

return View(editCategory); 
+0

嗨,是的,這是它的事情。圖像在編輯窗體中有兩個文本框。一個用於類別名稱和日期。如果我從類別名稱的文本框中刪除該字符串,並將其保留爲空。然後從其他文本框中刪除日期。如果我嘗試保存詳細信息,則會收到日期文本框的錯誤消息,說明它需要填寫,但沒有顯示其他框的錯誤消息。我有什麼意義嗎? – DiscoDude 2011-02-10 21:18:55

0

我想通了。我編輯錯誤語法編輯操作,它正在工作。