Url.Action:如何将视图中的参数传递给控制器?
问题描述:
我遇到了使用Url.Action从我的视图传递参数到控制器的问题。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);
}
我将如何通过网址发送参数.Action,以便它可以被接受为控制器中的参数?
答
您需要使用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() });