Url.Action:如何将参数从View传递给Controller?
我在使用Url.Action将参数从View传递到Controller时遇到问题。
我的代码在视图中如下:
在我的脚本中:
$('#searchForm').submit(function (e) { e.preventDefault(); $.ajax({ url: '@Url.Action("Index_AddSearchCriteria", "Home", "search_criteria")', type: 'POST', dataType: 'html', success: function (result) { $('#SearchDiv').html(result); } }) })
在控制器中:
public PartialViewResult Index_AddSearchCriteria(string search_criteria) { ViewModel.SearchCriteria = search_criteria; return PartialView("SearchBar", ViewModel); }
如何通过Url.Action发送参数,以便它可以作为Controller中的参数接受?
您需要使用data:
参数
var data = { search_criteria: $("search_criteria).val() }; // add id="search_criteria" to the textbox $.ajax({ url: '@Url.Action("Index_AddSearchCriteria", "Home")', type: 'POST', data: data, dataType: 'html', success: function (result) { $('#SearchDiv').html(result); } })
或者你可以简化它
$('#SearchDiv').load('@Url.Action("Index_AddSearchCriteria", "Home")', { search_criteria: $("search_criteria).val() });