2012-10-28 19 views
0

我有一個視圖模型類布爾。我有一個if語句來檢查bool是真是假。如果爲false,則將該值設置爲true並調用視圖。在視圖中我有按鈕,當點擊更新並再次調用視圖時。我的問題是,視圖加載時,布爾保持設置爲false。我不知道爲什麼會發生這種情況。有沒有辦法阻止bool被更改?MVC3 - 我怎能不被重置一個布爾假

+1

,如果你能告訴我們你的代碼的一些相關的部分,我們可以幫你 – Jorge

回答

3

MVC是無狀態的,所以模型實例並不服務器調用之間持續存在(除非你手動這樣做,例如通過保存到數據庫中)。假設你的模型的參數,以你的操作方法,該值將在該模型中popluted的唯一方法是,如果它是(1)該屬性的默認值(你的情況假),(2)的網址請求或(3)是否爲提交表單上的輸入。

如果重新加載視圖按鈕做了表單提交,你可以在您的視圖做

@Html.HiddenFor(m => m.BoolProperty) 

堅持價值。如果按鈕通過調用一個url刷新頁面,你必須將布爾屬性作爲路由值添加到URL:

var url = Url.Action("MyAction", "MyController", new { m.BoolProperty }); 
+0

我一直在考慮與之合作的觀點與已被使用的「價值」的輸入標籤的屬性的.aspx視圖。據我可以告訴我無法添加屬性到輸入標籤。 '' –

+0

由於您沒有提供任何代碼來實際審查'之外,我們沒有它是如何計算的bcCalc',這是一個非常好的答案。 –

+0

請記住,如果您使用.cshtml,則此答案有效。如果您使用.aspx,這不起作用。 –

相關問題