2016-04-22 10 views
0

Ich habe eine einfache javascript Funktion in einer Teilansicht:Aufruf Javascript-Funktion aus rasiermesser Code in Teilansicht

@section Scripts{ 
    <script type="text/javascript"> 

     function showErrors(data) { 
      alert('show errors'); 
     } 

    </script> 
} 

und ich brauche razor Code diese Funktion von meiner Teilansicht zu nennen. Ich habe versucht, etwas wie:

 @if (Model.ErrorMessage.Count > 0) 
     { 
      var errors = Html.Partial("_errors", Model.ErrorMessage); 
      <script type="text/javascript">showErrors(@errors)</script> 
     } 

aber es funktioniert nicht. Ich kann diese Funktion nicht aufrufen, wenn die Seite geladen wird, da diese Ansicht gerendert wird. ajax Aufruf ...

Haben Sie Ideen, wie Sie diesen Code ändern können, damit die JavaScript-Methode aus meiner Teilansicht aufgerufen wird, wenn sie geladen ist?

+0

arbeiten, wenn Sie es über Ajax geladen werden, warum don‘ t rufen Sie einfach die Funktion über Ajax 'Erfolg' Abschnitt? –

+0

weil ich in meinem Ajax-Aufruf eine Teilansicht zurückgebe und es gerendert wird und es keinen einfachen Weg gibt (oder ich weiß es nicht), auf das Modell zuzugreifen und einige Sachen zu überprüfen –

Antwort

1

Sie können nicht section in Teilansicht haben

so versuchen

<script type="text/javascript"> 

    function showErrors(data) { 
     alert('show errors'); 
    } 

</script> 

zum Layout verschieben oder sonst wo und sehen, ob es

+0

Danke, das ist die richtige Antwort :-) Siehe auch http://stackoverflow.com/questions/7556400/injecting-content-into-specific-sections-from-a-partial-view-asp-net-mvc-3-with – buffjape