我在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>
答案 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>
控制页面加载时应隐藏哪些元素。