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() });