MVC Core:ViewComponent onload事件等效

时间:2017-07-17 12:58:19

标签: asp.net-core asp.net-core-mvc asp.net-core-viewcomponent

我在ASP.NET MVC Core项目中有一个下拉列表。

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

onchange事件就像魅力一样,并根据下拉选择隐藏某些包含页面字段(即“毛色”或“喙型”文本框)。

我也希望在ViewComponent加载/就绪上调用相同的功能。请问有办法吗?

即。我基本上希望能有相同的这个,如果可能的话可以吗?

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

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

1 个答案:

答案 0 :(得分:0)

下载的Razor代码的ASP.NET MVC核心版本。

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

但是,select的JavaScript事件仅与元素的行为相关。如果需要在页面加载中显示/隐藏其他一些字段,我认为这是页面主脚本的责任。您可以在视图模型中设置show / hide params以从后端代码控制它,或者使用jQuery的

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

控制页面加载时应隐藏哪些元素。