У меня есть сайт, работающий с ASP.NET MVC 1, и столкнулся с ошибкой, когда bool в моей модели сбрасывается по умолчанию, потому что значение не используется в Посмотреть.Как остановить представление, возвращающее значение по умолчанию в 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"); %>
но до сих пор это недобросовестный значение ложного
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(Service service)
{
//UpdateLogic
}
в методе пост, независимо от того, что было IsActive раньше, Service.IsActive всегда ложно
в основном я был просто интересно, как я мог бы получить сайт, чтобы сохранить значение это было без отображения текстового поля в вид (попробовал гугл, но не смог получить правильное сочетание слов для приличного результата)
спасибо, что идеально (ему нужны равные для работы, но отличные от этого свои большие) - <% = Html.Hidden ("IsActive")%> – Manatherin
Это не лучший способ исправить это. это позволит очень легко изменить значение в браузере в любом случае, проверьте мое исправление. – Stefanvds
@Stefanvds - Мне не нравится ваше исправление. Похоже, вы ставите много логики в контроллер, который не должен находиться в контроллере. Я предпочитаю подход ViewModel к вашему. – Martin