Razor 将多个参数传递给Ajax.ActionLink

Razor 将多个参数传递给Ajax.ActionLink,razor,asp.net-mvc-4,asp.net-ajax,Razor,Asp.net Mvc 4,Asp.net Ajax,在我的MVC4项目中,我有一个视图和部分视图。我在视图中有3个文本框、一个复选框和一个下拉框。我使用ajax.actionlink方法,调用我的控制器、操作并传递参数,从局部视图获得结果,并在视图页面的div标记中显示它们 这是我的密码 @Html.TextBoxFor(m=>m.searchParameter.cityName) @Html.TextBoxFor(m=>m.searchParameter.CountryName) @Html.TextBoxFor(m=>m.s

在我的MVC4项目中,我有一个视图和部分视图。我在视图中有3个文本框、一个复选框和一个下拉框。我使用ajax.actionlink方法,调用我的控制器、操作并传递参数,从局部视图获得结果,并在视图页面的div标记中显示它们

这是我的密码

@Html.TextBoxFor(m=>m.searchParameter.cityName)
@Html.TextBoxFor(m=>m.searchParameter.CountryName)
@Html.TextBoxFor(m=>m.searchParameter.StateName)

@Ajax.ActionLink("submit", "DisplaySearchResult", "Home"
      , new { searchParameter =  Model.searchParameter }
     , new AjaxOptions() { HttpMethod = "Post", UpdateTargetId = "Results", InsertionMode = InsertionMode.Replace }, new { id = "DisplaySearchResult" }).

问题是我无法将参数传递给模型。我是MVC4的新手。是否有任何方法可以使用jquery或javascript传递参数?。我不想在搜索结果期间加载页面。

如我所见,您正在尝试实现搜索表单。在这种情况下,我避免使用
ViewModel
,通常会这样做:

@Html.TextBox("CityName", string.Empty)
@Html.TextBox("CountryName", string.Empty)
@Html.TextBox("StateName", string.Empty)
然后可以使用一点jQuery将值传递给操作方法:

$("#submit").click(function() {

            var $form = $('form');

            $.ajax({
                type: "GET",
                cache: false,
                url: '@Url.Action(ActionName, ControllerName)',
                data: $form.serialize(),
                success: loadResult
            });

function loadResult(data)
        {
            $("#container").html(data);
        }
只需确保您的操作方法具有适当的参数
CityName、CountryName、StateName
,以便正确绑定这些值