2011-10-17 45 views
1

我有處理信用卡交易的視圖。它使用一個包含CreditCardNumber屬性的簡單模型。如果出現錯誤,我會清空模型上的CreditCardNumber屬性。問題是MVC繼續並填寫CreditCardNumber。我猜測它正在查看發佈的表單值,並試圖幫助我填補它。我不想要這個。如何使MVC Html.EditorFor忽略表格值

如何讓MVC的Html.EditorFor不使用發佈的表單值並獨佔使用我的模型的屬性值?

+0

什麼對失敗的請求控制器的回報? –

+0

否則完全填充模型 –

回答

1

如果您明確將編輯的模型傳遞給View調用,它應該可以正常工作。

public ActionResult BuyNow(BuyNowViewModel vm) 
{ 
    if (!ModelState.IsValid) 
    { 
     vm.CreditCardNumber = null; 
     return View(vm); 
    } 
} 
+0

但是,如果'!ModelState.IsValid'正確,您只需要執行此操作? – Tr1stan

+0

沒錯。或者其他一些非標準的驗證代碼在某處失敗(從來不知道,謝謝你的建議)。 –

+0

這正是我已經在做的。該模型在傳遞到視圖時不包含CreditCardNumber –