【问题标题】:Url.Action: How to Pass Parameter from View to Controller?Url.Action:如何将参数从视图传递到控制器?
【发布时间】: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 中将其作为参数接受?

【问题讨论】:

    标签: jquery asp.net-mvc asp.net-mvc-4 asp.net-ajax


    【解决方案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() });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多