我有一個網站與ASP.NET MVC 1運行,並遇到了一個錯誤,其中我的模型中的布爾重置爲默認值,因爲該值未在視圖。如何停止視圖返回ASP.NET MVC中的默認值
爲控制器代碼:
public ActionResult Edit(Guid id)
{
Service service = GetService(id);
if (service == null)
return View("NotFound");
return View(service);
}
當視圖代碼有:
<label for="IsActive"> Is Active: </label>
<%= Html.TextBox("IsActive") %>
它工作正常不過,一旦它被刪除isActive域總是返回假。我不再希望isactive被看到或從該視圖修改但去除它已經引起了值丟失,我已經嘗試設置值,而不是與
<% Html.TextBox("IsActive"); %>
顯示,但仍然有其拖欠值爲false
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(Service service)
{
//UpdateLogic
}
在POST方法,無論什麼IsActive收到過處,Service.IsActive始終爲假
基本上我只是想知道我怎麼可以讓網站保持它的價值通過時不顯示文本框視圖(曾嘗試用Google搜索,但未能獲得話語權組合一個體面的結果)
謝謝你的完美(它需要等於工作,但除了它的偉大) - <%= Html.Hidden(「IsActive」)%> – Manatherin 2010-10-26 13:51:14
這不是一個很好的方法來解決這個問題。無論如何,它將使編輯瀏覽器中的值非常容易,請檢查我的修復程序。 – Stefanvds 2010-10-26 13:54:44
@Stefanvds - 我不喜歡你的修復。看起來你在控制器中放置了很多不應該在控制器中的邏輯。我比你更喜歡ViewModel方法。 – Martin 2010-10-26 13:56:52