在呈现视图后,将数据从javascript发送到控制器

时间:2015-07-26 18:08:37

标签: javascript jquery asp.net-mvc

我目前有一个具有GET参数的控制器。我的Javascript抓取GET参数并使用它从API中获取数据。我遇到的问题是我不知道如何设置我的控制器端函数/ actionresults来接受ajax数据并修改viewmodel。我是否需要单独的功能或只是从客户端修改HTML。

控制器:

public ActionResult Search(string locationinput)
        { 
             //ViewModel data processing...
             return View();
        }

搜索视图:

         @model IEnumerable<Project.ViewModels.SearchResultsViewModel>

         <div class="container">
                    @foreach (var item in Model)
                    {
                            @Html.DisplayFor(modelItem => item.formatted_address)     
                            @Html.DisplayFor(modelItem => item.zip)
                    }
         </div>

1 个答案:

答案 0 :(得分:0)

public PartialViewResult Search(string locationinput)
        {
            List<SearchResultsViewModel> srvm=getSomething(locationinput);

            return PartialView(srvm);
        }

搜索视图

@model IEnumerable<Project.ViewModels.SearchResultsViewModel>

         <div class="container">
                    @foreach (var item in Model)
                    {
                            @Html.DisplayFor(modelItem => item.formatted_address)     
                            @Html.DisplayFor(modelItem => item.zip)
                    }
         </div>

和js

$('#btnAjax').click(function () {
        $.ajax({
            url: '/Controller/Search',
            type: 'GET',
            dataType: 'html'

        })
        .success(function (result) {
            $('#searchresults').html(result);
        })
        .error(function (xhr, status) {
            alert(status);
        })
    });