2009-06-30 51 views
0

当验证失败并且启动ValidationSummary时,如何重新创建已发布数据的表单。我得到验证者开火,但无法预先填充表单。MVC中失效的表单丢失了返回的表单数据

catch (Exception ex) 
{ 
    TempData["Message"] = "An Error Occured while saving the product!"; 
    ModelStateDictionary modelDictionary = Validation.UpdateModelStateWithRuleViolation(product, ViewData.ModelState); 
    TempData["ModelDataDict"] = modelDictionary; 
} 

上的错误,我指派的ModelState到我使用TempData的变量,但我怎么能重新与已发布数据的形式...

+0

你可能已经在做这件事,但我无法从你发布的代码中知道。你是否将模型重新分配给你正在返回的新视图?如果不是,那么我认为这些数据将不会在帖子中持续存在。 – 2009-06-30 11:57:58

回答

2

请确保您返回这一直是数据模型发现无效,因此表单可以重新绑定到与发送的数据相同的数据。

这样你就不会丢失内容。当然,这只有在输入已经绑定到数据模型时才有效。即:

<label>Name</label> 
    <%=Html.TextBox("Name", Model.MyClass.Name)%>