【发布时间】:2018-11-05 14:19:45
【问题描述】:
大家好,感谢您阅读本文。
感谢Stephen Mueckehis answer,我已经有相同的场景了
这里唯一的区别是我不希望局部视图从文本框搜索值加载数据,而是从下拉列表中加载数据。
我已经设法让 .on("change", ...) 事件正常工作,但我的 PartialViewResult“动作”由于某种原因没有被击中。我在控制台中没有错误,所以我认为它不是 JS/JQuery。
这就是我所拥有的:
局部视图:
@Html.DropDownListFor(p => p.SelectedSupplier, Model.SuppliersSelectList, new { @class = "form-control col-md-5", @id = "dropdownSuppliers" })
(产品)控制器:
public PartialViewResult SupplierChanged(int selectedSupplierId ,ProductViewModel model)
{
// perform logic and load new data into the partial view
return PartialView("_ProductDetail");
}
调用 PartialViewResult 的常规视图中的 Javascript:
<script type="text/javascript">
$(function () {
$('#dropdownSuppliers').on("change",function () {
//Content to send
var selectedValue = $(this).val();
$.get('@Url.Action("SupplierChanged", "Product")', { "SelectedValue": selectedValue },
function (result) { $('#panel6').html(result); }
);
});
});
</script>
引用 PartialView:
<div class="col-md-12 tab-pane fade float-left" id="panel6" role="tabpanel" style="margin-right:0;">
@Html.Partial("_ProductDetail")
</div>
我已经测试了几种方法,通过警报来查看我的 JS 是否已执行,我在下拉列表中有一个所选项目的 ID,只是我似乎无法在我的控制器中点击我的 PartialViewResult。
我可以在下拉列表中使用 @onchange = "this.form.submit();" ,但这不是我想要的,我有半页必须保持静态,另一个,根据下拉菜单中的选择,它应该加载与该选择相关的数据。
谁能告诉我这没有触发我的 PartialViewResult 的可能原因?
提前感谢您! 亲切的问候
【问题讨论】:
标签: jquery onchange html.dropdownlistfor asp.net-mvc-partialview