2015-02-04 32 views
22

Ho un requisito per eseguire uno script nella funzione document.ready se la proprietà viewbag è nullo o non esiste. Di seguito è riportato il codice che ho scritto per verificare se la proprietà viewbag non esiste.Come verificare se la proprietà ViewBag è nullo o non esiste

ho usato raccomando avvicinato dove @ ViewBag.Property! = Null, ma quando lo faccio che ottengo un errore che dice proprietà di nome non esiste nel contesto attuale,

@section scripts { 

@if ((bool)ViewData.ContainsKey("FormSubmitFlag") == false) 
{ 
    <script type="text/javascript"> 
     $(document).ready(function() { 

      var pageVisitCount = sessionStorage.getItem("personalDetailsVisitCount"); 
      if (pageVisitCount == null) { 
       $("#personal-details-form").trigger('reset'); 
       sessionStorage.setItem("personalDetailsVisitCount", "1"); 
      } 
      else { 
       var validator = $("#personal-details-form").validate(); 
       validator.form(); 
       cat.personaldetails.validate(); 
      } 
     }); 
    </script> 
} 

} 

Grazie

+1

Verificare in html quale output questa riga di codice '@if ((bool) ViewData.ContainsKey (" FormSubmitFlag ") == false)' genera. Ti darebbe un'idea migliore di ciò che sta andando storto. –

+0

utilizzando '@ ViewBag.Property! = Null' dovrebbe andare bene. Come lo stavi usando? –

+0

possibile duplicato di [Controllo per vedere se ViewBag ha una proprietà o meno, per iniettare condizionatamente JavaScript] (http://stackoverflow.com/questions/8640927/checking-to-see-if-viewbag-has-a-property- o-non-a-condizionalmente-iniezione-javasc) – Mate

risposta

55

È può verificare null ed eseguire il tuo script.

@if (ViewBag.YourKey== null) 
{ 
//your code 
} 

Questo controllerà che ViewBag.YourKey è nullo se si desidera controllare la presenza di non nullo è possibile modificare la condizione di se.