Javascript DropDownListFor在更改时不会调用函数

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

我对html、razor和MVC非常陌生,所以如果这是一个简单的解决方法,我很抱歉,但我已经在这个问题上工作了一段时间,没有解决方案。我想触发一个控制器动作,每当下拉列表更改时,该动作将重新填充局部视图。我已经尝试用'onchange'html属性实现了这一点,还为下拉列表设置了一个id,并让jquery函数触发它。但我无法启动下面三个函数中的任何一个。这是我的密码

@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调用服务器方法来返回部分视图。