0

我正在尝试为Datatables构建一个帮助类,需要一些建议。

我想创建一个助手,我可以传入一个对象,该对象代表DataTables由特定模型键入的 a 的设置。该对象将包含一组表达式,这些表达式表示助手要使用的列。作为DataTables对象的一部分,将有一个属性保存为网格提供数据的 URL。这将有效地成为sAjaxSource参数。作为 URL 调用的一部分,将发送一个 JSON 包,其中包含有关列的信息。这整个部分,我了解如何构建。基本上,我会构建DataTables包含列定义的 JavaScript 代码,并创建一个 JSON 对象来表示我想在 URL 中传递的列。

我需要一些建议的领域是在对服务器/控制器进行调用后为特定列构建数据。所以我的控制器可能看起来像这样:

public ActionResult GetUsersList(IEnumerable<DatatableColumnJson> columns)
    {
        var users = _someUserRepository.GetAll();


        foreach (var user in users)
        {
            //Here I would build the JSON that DataTables needs to render the grid.
            //I would iterate through the users and pull out the data for the specific columns
        }

        return Json(someCompleteDataTablesObject, JsonRequestBehavior.AllowGet);
    }

支持类:

public class DatatableColumnJson
{
    public string Name { get; set; }
    public string Visible { get; set; }
}

public class User
{
    public string UserName { get; set; }
    public string Email { get; set; }
}

所以我首先想到我可以使用反射,但这似乎有点密集,也许。另一个想法是将列名转换为表达式以可能提取数据。我想要一些高效的东西,而且没有太多的开销,但也许我要求太多了。

4

0 回答 0