2012-04-27 13 views
7

Esta parte fue sloved gracias a Ethan Brown quiero fijar el valor de mi ayudante Html.HiddenFor con valor preestablecido Este es mi código:Html.HiddenFor con valor preestablecido

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

Pero cuando ejecute el código me sale el error que model.idv y modele.etat son nulos.
Esto es parte seconde sin sloved hasta ahora:
Esta es mi acción:

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

Y esta es mi página de vista:

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

Así que cuando hago clic en el botón de someter el modelo .idv se establece de nuevo en el valor nulo

Respuesta

14

La forma correcta de establecer un valor preestablecido es pasarlo a través del modelo (MVC parece ignorar el "valor" "parámetro si lo configuraste". Para lograr lo que usted está buscando, en su acción:

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

Entonces usted no tiene que hacer nada en su opinión, excepto tienen:

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

funciona, pero el problema en mi opinión la página recibí información que el usuario debe completar y enviar el botón cuando hago clic en enviar el IDV se establece de nuevo en valor nulo ¿me puede explicar cómo solucionar este problema? – Chlebta

+0

¿Está diciendo que 'idv' es nulo cuando lo procesa en la acción' HttpPost'? –

+0

sí, eso es todo :) – Chlebta

Cuestiones relacionadas