我在使用Url.Action将参数从我的视图传递到控制器时出现问题。
我的代码在视图中如下:
<form id="searchForm">
<input type="text" name="search_criteria" />
<input type="submit" value="Search" />
</form>
<div id="SearchDiv">
</div>
在我的剧本中:
$('#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中的参数接受?
答案 0 :(得分:2)
您需要使用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() });