-1

Ich habe eine Dropdown-Liste in einem ASP.NET MVC Core-Projekt.MVC Core: ViewComponent Onload-Ereignis entspricht

<div class="form-group"> 
    <div class="col-md-10"> 
     @Html.DropDownListFor(t => t.AnimalTypeID, Model.AnimalTypeList, 
     new { onchange = "performStuff();" }) 
    </div> 
</div> 

Das onchange Ereignis wirkt wie ein Zauber, und versteckt bestimmte enthält Seitiges Felder (das heißt „Fellfarbe“ oder „Schnabel Typ“ Textfelder) in Abhängigkeit von der Drop-Down-Auswahl.

Ich würde gerne die gleiche Funktionalität auf der ViewComponent load/Bereitschaft auch obwohl. Gibt es eine Möglichkeit, dies bitte zu tun?

I.e. Ich hoffe grundsätzlich, das Äquivalent dazu zu haben, wenn das bitte möglich wäre?

@Html.DropDownListFor(t => t.AnimalTypeID, Model.AnimalTypeList, 
     new { onload="alertFunction();" ,onchange = "performStuff();" }) 

<script type="text/javascript"> 
    function alertFunction() 
    { 
     alert('hello world!'); 
    } 
</script> 
+0

Können Sie jQuery in Ihrer Lösung verwenden? – Ignas

+0

Sicher, yep, das ist eine Option, ich kann mich bedanken. – BunnyMcButchFluffykinsMarauder

+0

Weitere Details in der Antwort hinzugefügt. – Ignas

Antwort

0

ASP.NET MVC Core-Version eines Dropdown-Razor-Code ist unten.

<select asp-for="AnimalTypeId" asp-items="@Model.AnimalTypeList" onchange="alert('change');"> 
    <option>Please select</option> 
</select> 

Die JavaScript-Ereignisse von select beziehen sich jedoch nur auf das Verhalten des Elements. Wenn es notwendig ist, einige andere Felder beim Laden der Seite anzuzeigen/auszublenden, würde ich denken, dass das Seiten-Hauptskript dafür verantwortlich ist. Sie könnten entweder ein-/ausblenden params Ihrer Ansicht nach Modell setzen Sie ihn aus dem Back-End-Code zu steuern, oder verwenden Sie jQuery

<script type="text/javascript"> 
    $(function() { /* Your function */ }); 
</script> 

zu steuern, welche Elemente auf der Seite Last ausgeblendet werden sollen.

Verwandte Themen