-1

我在ASP.NET MVC Core項目中有一個下拉列表。MVC Core:ViewComponent onload event equivalent

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

onchange事件就像一個魅力,並隱藏某些含頁字段(即,「皮毛顏色」或「喙類型」文本框),這取決於所述下拉選擇。

我也想調用ViewComponent加載/準備的相同功能。有沒有辦法做到這一點?

I.e.我基本上希望能有這個相同的,如果這可能是可能的,請嗎?

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

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

你可以在你的解決方案中使用jQuery嗎? – Ignas

+0

當然,這是我可以感謝的選擇。 – BunnyMcButchFluffykinsMarauder

+0

在答案中增加了更多細節。 – Ignas

回答

0

ASP.NET MVC核心版本的下拉式Razor代碼如下。

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

但是,select的JavaScript事件只與元素的行爲有關。如果需要顯示/隱藏頁面加載中的其他字段,我認爲這是頁面主腳本的責任。您既可以設置顯示/隱藏PARAMS在您的視圖模型從後端代碼控制,或使用jQuery的

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

控制哪些要素應在頁面加載隱藏。