Url.Action:如何将参数从视图传递到控制器?
Posted
技术标签:
【中文标题】Url.Action:如何将参数从视图传递到控制器?【英文标题】:Url.Action: How to Pass Parameter from View to Controller? 【发布时间】:2015-01-01 00:23:02 【问题描述】:我在使用 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 中将其作为参数接受?
【问题讨论】:
【参考方案1】:需要使用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() );
【讨论】:
以上是关于Url.Action:如何将参数从视图传递到控制器?的主要内容,如果未能解决你的问题,请参考以下文章