2013-05-08 2 views

risposta

48

Nella vostra azione di controllo rendendo la vista è possibile impostare la proprietà As del modello a true:

model.As = true; 
return View(model); 

e nella vista semplice:

@Html.CheckBoxFor(model => model.As); 

Ora, poiché la proprietà come del modello è impostata su true, l'helper CheckBoxFor genererà una casella di controllo selezionata.

+0

I vuoi controllare senza modificare model.as valore in Controller .. come modificare il valore in vista –

+3

Il modo corretto per ottenere ciò è di impostare il valore nel controller. È così che l'helper CheckBoxFor è progettato per essere utilizzato. Se non si desidera seguire le migliori pratiche, è sempre possibile generare manualmente la casella di controllo nella vista con un attributo 'checked =" checked "' hardcoded. –

+0

ho provato con @ Html.CheckBoxFor (model => model.As, new {@checked = "true"}) ma non funziona –

0

Una soluzione alternativa sta usando jQuery:

<script src="js/jquery-1.11.0.min.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      PrepareCheckbox(); 
     }); 
     function PrepareCheckbox(){ 
      document.getElementById("checkbox").checked = true; 
     } 
    </script> 
0

Io uso viewbag con lo stesso nome di variabile nel controller. E.g se la variabile è chiamata "IsActive" e voglio che questo sia impostato su true sul modulo "Crea", sulla Crea azione imposto il valore ViewBag.IsActive = true;

public ActionResult Create() 
{ 
    ViewBag.IsActive = true; 
    return View(); 
} 
1

è possibile impostare la vostra proprietà nel costruttore del modello

public YourModel() 
{ 
    As = true; 
} 
25

vecchia questione, ma un'altra risposta "puro rasoio" potrebbe essere:

@Html.CheckBoxFor(model => model.As, htmlAttributes: new { @checked = true}) 
+5

Questa è la risposta che stavo cercando .. !!! – Spider

+0

Non ha alcun effetto se il valore del modello è "falso" (la casella di controllo è deselezionata) e non è necessaria se il valore del modello è "true", quindi qual è il punto di questo codice? –

+0

E quando è nullo? ('bool?') – tonjo