我尝试从SmartTable完成当前tableState的asp.net映射。

我使用ASP.NET MVC 5。

我的angularjs呼叫看起来像这样:

 usersService.getUsers({
                start: start,
                number: number,
                tableState: tableState
            }
        ).then(function(result) {

        });

我的queryString参数如下所示:

number:10
start:0
tableState:{"sort":{"predicate":"location","reverse":false},"search":{"predicateObject":{"location":"gfdgd","service":"gfdgd","company":"gd","fullname":"john"}},"pagination":{"start":0,"number":10}}

当然,我尝试在asp.net中映射查询信息。 我的控制器动作如下所示:

   public JsonResult GetUsers(SmartTableRequestModel request)
        {
            return GetJsonResult(new
            {

            });
        }

我尝试绑定的模型如下:

 public class SmartTableRequestModel
    {
        public SmartTableQueryModel TableState { get; set; }

        public int Number { get; set; } // number is well-binded

        public int Start { get; set; } // the start is well-binded too
    }

 public class SmartTableQueryModel
    {
        [JsonProperty("sort")]
        public SmartTableSortModel Sort { get; set; }

        [JsonProperty("search")]
        public SmartTableSearchModel Search { get; set; }

        [JsonProperty("pagination")]
        public SmartTablePaginationModel Pagination { get; set; }
    }

 public class SmartTableSortModel
    {
        [JsonProperty("predicate")]
        public string Predicate { get; set; }

        [JsonProperty("reverse")]
        public bool Reverse { get; set; }

    }

等等 ...

但是我没有在tableState模型中映射任何内容。 我的SmartTableRequestModel对象的TableState属性始终为null。

感谢您的以下帮助,Razvan

#1楼 票数:0

尝试发送请求数据,如下所示。

{"request" :{"TableState": {"sort":{"predicate":"location","reverse":false},"search":{"predicateObject":{"location":"gfdgd","service":"gfdgd","company":"gd","fullname":"john"}},"pagination":{"start":0,"number":10}}},"Number":10,"Start":1}

#2楼 票数:0 已采纳

问题是我的getUsers是一个httpget方法,您无法将模型传递给httpget方法。

因此,我更改了资源以匹配httppost调用。

    {
        getUsers: { url: ci.domainPub + '/Management/GetUsers', method: 'POST', action: 'getUsers'},
    },

在控制器中,操作将是:

[HttpPost]
public JsonResult GetUsers(SmartTableRequestModel request)
        {
            return GetJsonResult(new
            {

            });
        }

通过这种机制,您可以发布smartTable插件的tableState,而无需基于服务器端进行任何处理和筛选/排序。

  ask by Razvan Dumitru translate from so

未解决问题?本站智能推荐:

3回复

ASP.Net和AngularJS的路由错误:尝试多次加载angular

我正在尝试在具有Xamarin的MacBook Air上使用ASP.Net MVC服务器端框架设置AngularJS应用程序。 我正在从Node.js运行时环境迁移到ASP.Net,但我无法弄清楚路由应该如何与Angular一起工作。 我想在服务器端使用一条路由,并让所有其他路由在客户端
1回复

ASP.NET中的URL映射和WebMethods错误

我正在尝试使用本教程重写/ URL映射我的ASP.NET网页。 但是,我面临的问题是,当我通过新的URL访问网页时,该网页的Web方法/ PageMethods不会加载/激发。 Global.asax: 该页面的Javascript文件中的PageMethod: 如您所见
1回复

带有angularJS的ASP.NET无法加载模板(空白页面,没有错误)

我在ASP.NET应用程序内部进行路由时遇到问题。 当我将我的angularJS移出ASP.NET MVC时,它工作正常(在XAMPP上),但是当我在Visual Studio 2013中运行它时,索引页面为空白。 我真的不知道问题出在哪里...有人知道问题出在哪里吗? 这是我正在使用
1回复

包含数组的json对象映射到asp.net字典

我知道问题标题不是很清楚具体,但我真的不知道如何用几句话来形容。 这里有更多关于它的故事。 我想通过POST请求将对象发送到ASP.NET 4 MVC控制器,并希望它将绑定到C#模型。 前端的角度为1.5,并且不会通过表单提交发送对象。 我想发送什么 C#模型看起来
1回复

与 asp.net 的 ADFS 集成证书错误

我有一个 asp.net 网站,该网站使用 ADFS 身份验证供用户访问该网站。 我已经根据从 RP 收到的配置在 ADFS 和 web.config 更改中配置了网站。 当我输入 url 时,它被重定向到我放置有效凭据的 ADFS 网站。 令牌是来自 ADFS 的问题(我检查了日志)。 但是,
1回复

带Angularjs的MVC,ASP.NET身份,EmailService和异步调用

查看并尝试解决有关错误消息的许多建议后: “异步模块或处理程序在异步操作仍处于挂起状态时完成。” 我发现自己处于这样一种情况,即使对MVC accountController的调用实际上已执行了所需的代码(一封电子邮件已发送至具有正确内容的正确位置),并且在controller
1回复

ASP.NET流程开始

我使用Visual Studio Web 2013 Express Edition创建了新项目(ASP.NET MVC Web应用程序)。 加载索引页,重定向和一切正常,除了在我的代码的某些部分中,我需要创建Process并执行它,等待它完成,解析该外部应用程序的输出并将该输出显示给用户。
4回复

HTTP错误414.请求URL太长。 asp.net

我收到错误“HTTP错误414.请求URL太长。” 从以下文章中,我了解到这是由于一个非常长的查询字符串: http://www.mytecbits.com/microsoft/iis/query-string-too-long 在web.config中,我有maxQueryS