从ASP.NET MVC中的AngularJS控制器加载数据,而不加载整个页面

时间:2015-11-24 14:10:28

标签: javascript c# angularjs asp.net-mvc asynchronous

这是我的行动:

    [HttpPost, ValidateAntiForgeryToken]
    public ActionResult GetData()
    {
            //get data from DB and populate model with data
            return View("Data", model);
    }

观点是:

    @model UI.Models.DataModel

    @{
var grid = new WebGrid(Model.listTest, 
    null, 
    defaultSort: "Id", 
    rowsPerPage: 25, 
    canPage: true, 
    canSort: true
    );
    }

    @if (Model.listTest != null)
    {

     @grid.GetHtml()

    }

在这种特殊情况下,在使用angularjs(而不是Ajax)调用操作后,如何在不加载整个页面的情况下填充gridview?

我没有编写一行代码来使其异步,因为我对angularjs一无所知。这将是我学习它的第一步。

更新

  • 我知道如何在Ajax中完成这项工作,我想学习AngularJS。只在Ajax中做这些事情会更好吗?或者AngularJS比Ajax更好?

1 个答案:

答案 0 :(得分:1)

如果您希望将异步API调用回到控制器,我强烈建议您查看ASP.NET网站,其中包含有关此主题的信息。

在链接到文章之前,最简单的答案是,您需要将控制器操作拆分为专门用于View的操作,以及另一个异步返回数据的操作。

以下是一篇回答您问题的文章的链接:

http://www.asp.net/mvc/overview/performance/using-asynchronous-methods-in-aspnet-mvc-4