2012-04-27 14 views
7

Questa parte è stata sloved grazie a Ethan Brown voglio impostare il valore della mia Html.HiddenFor helper con valore preimpostato Questo è il mio codice:Html.HiddenFor con valore preimpostato

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

Ma quando eseguire il mio codice ottengo l'errore che model.idv e modele.etat sono nulli.
Questo fa parte seconde non sloved fino ad ora:
Questa è la mia azione:

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); 
      } 
     } 

E questa è la mia pagina di visualizzazione:

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

Così quando clicco sul pulsante di invio del modello .idv è impostato nuovamente su valore nullo

risposta

14

Il modo corretto per impostare un valore preimpostato è quello di passarlo tramite il modello (MVC sembra ignorare il valore " "parametro se lo si imposta). Per realizzare quello che stai cercando, nella vostra azione:

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

Allora non dovete fare nulla in vista, tranne hanno:

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

funziona, ma il problema, a mio avviso pagina ho alcune informazioni che l'utente deve compilare e inviare il pulsante quando clicco invio l'idv è settato di nuovo al valore null puoi spiegarmi come risolvere questo problema? – Chlebta

+0

Stai dicendo che 'idv' è nullo quando lo elabori nell'azione' HttpPost'? –

+0

sì è così :) – Chlebta

Problemi correlati