2009-12-10 131 views
1

我的模型具有「output」屬性,而我的表單具有名爲「output」的TextBox,兩者拼寫完全相同。當我填寫表單併發布時,返回的視圖會有意想不到的結果。在MVC 2中,如何將Html.TextBox綁定到Model屬性

具體來說,我收到發佈的「輸出」表單變量,然後綁定到我的模型在控制器方法中,然後我將該變量更改爲不同的值,然後我將模型傳遞迴視圖。

張貼的輸出特性是「一件事」 我的模型屬性設置爲「其他」

我有這個在我的代碼:<%= Html.TextBox("output") %>

這使得這樣的:<input id="output" name="output" type="text" value="one thing" />

然而,在調試時,型號確實包含正確的值(「另一個」)。

它使用發佈的值而不是在控制器中分配的值。任何想法爲什麼以及如何解決它?

回答

2

假設你正在使用強類型的視圖,像這樣:

<%@ Page ... Inherits="System.Web.Mvc.ViewPage<...TestModel>" %> 

並具有EditorFor免去您

<%= Html.TextBox("output") %>像這樣<%= Html.EditorFor(p=>p.output) %>

,你可以在你的控制器做

ModelState.SetModelValue("output", new ValueProviderResult("Some string", string.Empty, new CultureInfo("en-US"))); 

類似問題已被要求here

相關問題