我有一个网站与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