【发布时间】:2019-05-08 19:20:26
【问题描述】:
我在局部视图中有一个下拉菜单,需要根据第一个视图中的选择更改同一局部视图中的另一个下拉菜单。
局部视图中的下拉菜单:
<div class="form-inline">
<div class="form-group">
@if (Model != null)
{
<label asp-for="ProjectId">Projects</label>
<select asp-for="ProjectId" asp-items="Model.Projects" class="form-control" style="width: 195px; margin-right: 5px;" id="ProjectId"></select>
<label asp-for="RoleId">Project Role</label>
<select asp-for="RoleId" asp-items="Model.ProjectRoles" class="form-control" style="width: 160px !important;" id="RoleId"></select>
}
</div>
</div>
Javascript 函数也在局部视图内:
<script>
$(function(){
$("#Projects").change(function(e){
var val=$(this).val();
$("#myTimesheetModal").load("/Timesheet/TimesheetModalAction/"+val);
});
});
</script>
我不确定#myTimesheetModal 应该是什么。
这是 Timesheet 控制器中的 TimesheetModalAction:
public IActionResult TimesheetModalAction(int projectId)
{
AddTimesheetViewModel addTimesheetViewModel = new AddTimesheetViewModel();
//unnecessary code redacted
//use the projectId here
return PartialView("_TimesheetPartialModal", addTimesheetViewModel);
}
此代码在第一次按下按钮时有效,但我不知道如何使用新选择的 ProjectId 值返回此函数
此代码来自索引页面,部分视图最初是从该页面呈现的:
<a class="btn btn-xs btn-primary pull-right" asp-action="TimesheetModalAction" asp-controller="Timesheet" style="margin-right:8px;" data-toggle="modal" data-target="#myTimesheetModal">Add Time</a>
<div class="modal fade" id="myTimesheetModal">
<div class="modal-dialog" role="document">
<div class="modal-content">
@Html.Partial("_TimesheetPartialModal", new AddTimesheetViewModel())
</div>
</div>
</div>
据我所知,我没有正确使用 Javascript 函数将 ProjectId 的选定值传递回 Timesheet 控制器操作以更新局部视图
【问题讨论】:
标签: javascript c# jquery ajax asp.net-mvc