2012-04-27 19 views
7

Ta część została sloved dzięki Ethan Brown Chcę ustawić wartość mojego Html.HiddenFor pomocnika z zadanej wartości To jest mój kod:Html.HiddenFor z zadanej wartości

<%: Html.HiddenFor(model => model.idv, new { @value = ViewBag.id })%> 
<%: Html.HiddenFor(model => model.etat, new { @value = "false" })%> 

Ale kiedy wykonać mój kod otrzymuję błąd, że model.idv i modele.etat mają wartość null.
Jest to część seconde nie sloved dotychczas:
To moje działanie:

public ActionResult Reserver(string id) 

    { 
     var model = new Models.rservation 
     { 
      idv = id, 
      etat = false 
     }; 
     return View(model); 
    } 

[HttpPost] 
     public ActionResult Reserver(Models.rservation model) 
     { 
      if (ModelState.IsValid) 
      { 
       entity.AddTorservation(model); 
       entity.SaveChanges(); 
       return View(); 
      } 
      else 
      { 

       return View(model); 
      } 
     } 

A to jest moja strona Widok:

<% using (Html.BeginForm("Reserver", "Home", FormMethod.Post, new { @class = "search_form" })) { %> 
//some code textbox to fill 
<input type="submit" value="Create" /> 
<% } %> 

Więc po kliknięciu na przycisk złożyć model .idv jest ponownie ustawione na wartość pustą

Odpowiedz

14

Prawidłowym sposobem ustawienia wartości wstępnej jest przekazanie jej przez model (MVC wydaje się ignorować "wartość" "parametr, jeśli go ustawiłeś). Aby osiągnąć to, czego szukasz, w swoim działaniu:

public ActionResult MyAction() { 
    var model = new MyModel { 
    idv = myPresetId, 
    etat = false 
    }; 
    return View(model); 
} 

Wtedy nie trzeba nic robić w widoku z wyjątkiem mieć:

<%: Html.HiddenFor(model => model.idv) %> 
<%: Html.HiddenFor(model => model.etat) %> 
+0

to działa, ale jest problem, moim zdaniem strona dostałem informacje, które użytkownik musi wypełnić i wysłać przycisk, gdy klikam na Wyślij, że idv jest ustawiony ponownie, wartość null może wyjaśnić mi, jak rozwiązać ten problem? – Chlebta

+0

Czy mówisz, że 'idv' ma wartość null podczas przetwarzania w akcji' HttpPost'? –

+0

tak to jest :) – Chlebta

Powiązane problemy