2014-11-04 192 views
1

我遇到了使用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,以便它可以被接受为控制器中的参数?

回答

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() }); 
相关问题