2017-05-23 1 views
0

In MVC-Anwendung aktualisiert wird, ich habe ein Javascript, das Modellelement greift wie folgt:MVC Javascript - Nach dem Reload-Model-Objekt in Javascript nicht

<script type="text/javascript"> 

$(function() { setColors(); }); 

function setColors() { 

    var results = @Html.Raw(Json.Encode(Model.saVM.results)); 
    $(results).each(function (indexRes, itemRes){ 
      alert(itemRes.ResultTypeID); 
    }); 
} 
</script> 

eine Eigenschaft in Model.saVM.results (ResultTypeID) zunächst null, aber wenn ich meine Tabelle neu lade, hat diese Eigenschaft einen Wert. In meiner setColor-Funktion ist diese Eigenschaft jedoch immer noch null.

_SearchPanel

function refreshGrid() { 
     $('#mapsDiv').load(url, { ... }, 
      function (data) {}); 


     setColors();} 

Das erste Skript in About.cshtml vorhanden ist, während refreshGrid Funktion in einer anderen Teilansicht vorhanden ist (_SearchPanel)

About.cshtml

@model SuperMapModel 
<div> 
@Html.Partial("_SearchPanel", Model.scM) 
</div> 
<div class="row"> 
    <div class="col-md-12 table-responsive" id="mapsDiv"> 
    @Html.Partial("~/Views/Maps/_MapDetailsList.cshtml", Model.saVM) 
    </div> 
</div> 
<script> ... </script> 

Teilansicht _MapDetailsList enthält HTML-Tabelle t Hut bindet mit Model.saVM ...

Auf Refresh/Reload von Netz rufen i wieder setColor Funktion wieder ResultTypeID Eigenschaft

function refreshGrid() { setColors();} 
+0

Können Sie die Funktion 'setColors()' in Teilansicht einfügen? – User3250

+0

yo das hat funktioniert :) – Samra

+0

fügen Sie eine Antwort hinzu oder ich würde? – Samra

Antwort

0

null ist, kann Sie setColors put() Funktion in Teilansicht. Sollte funktionieren.

Verwandte Themen