2014-11-04 191 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() }); 
相關問題