-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> 

控制哪些要素应在页面加载隐藏。