Javascript DropDownListFor在更改时不会调用函数
我对html、razor和MVC非常陌生,所以如果这是一个简单的解决方法,我很抱歉,但我已经在这个问题上工作了一段时间,没有解决方案。我想触发一个控制器动作,每当下拉列表更改时,该动作将重新填充局部视图。我已经尝试用'onchange'html属性实现了这一点,还为下拉列表设置了一个id,并让jquery函数触发它。但我无法启动下面三个函数中的任何一个。这是我的密码Javascript DropDownListFor在更改时不会调用函数,javascript,c#,jquery,html,asp.net-mvc,Javascript,C#,Jquery,Html,Asp.net Mvc,我对html、razor和MVC非常陌生,所以如果这是一个简单的解决方法,我很抱歉,但我已经在这个问题上工作了一段时间,没有解决方案。我想触发一个控制器动作,每当下拉列表更改时,该动作将重新填充局部视图。我已经尝试用'onchange'html属性实现了这一点,还为下拉列表设置了一个id,并让jquery函数触发它。但我无法启动下面三个函数中的任何一个。这是我的密码 @model AislesOnlineDataControl.Models.PickupPointsListModel @{
@model AislesOnlineDataControl.Models.PickupPointsListModel
@{
ViewBag.Title = "PickupPointsList";
}
<script>
function Select() {
@Html.Action("PickupPartial", "PickUpPoint", new { mod = Model.points[Model.selectedID] });
};
$("#PupDropDown").on('change', function () {
@Html.Action("PickupPartial", "PickUpPoint", new { mod = Model.points[Model.selectedID] });
});
$(function() {
$('#PupDropDown').change(function () {
Model.selectedID = Convert.ToInt32(selectPoint.SelectedValue);
//window.location.reload();
@Html.Action("PickupPartial", "PickUpPoint", new { mod = Model.points[Model.selectedID] });
});
});
</script>
<h2>Manage Pick-Up Points</h2>
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@{SelectList selectPoint = new SelectList(Model.selectedPoint, "Value", "Text");}
<div class="form-inline">
<div class="row">
@Html.DropDownListFor(model => model.selectedID, selectPoint, null, new { @id="PupDropDown", @onchange = "Select()" })
@Html.ActionLink("New", "CreatePickup", "PickUpPoint", null, new { @class = "btn btn-default pull-right" })
</div>
</div>
<div>
@Html.Partial("~/Views/PickUpPoint/PickupPartial.cshtml", Model.points[Model.selectedID])
</div>
</div>
}
@Html.Action。。返回部分视图中的ActionResultf,最终结果是一块html代码。因此,您不能将html代码放入JavaScript块中
您需要的是JavaScript代码,以便对操作进行ajax调用并呈现操作结果
下面是在asp.NETMVC中进行简单ajax调用的示例
@Action是razor代码,在传递给客户机之前在服务器上进行计算。不会在客户端响应客户端事件时对其进行重新评估。您需要使用ajax调用服务器方法来返回部分视图。