0

我在网格中使用 Ajax 绑定,当我尝试在网格上执行调用 Ajax 调用的操作(如排序)时,遇到了 ASP.NET MVC 抛出HttpRequestValidationException的问题。

使用 Fiddler,我能够确定我的浏览器正试图在查询字符串中回发我的整个模型,并且有一些字符会触发 ASP.NET 的请求验证。

我可以通过简单地添加来解决这个问题

[ValidateInput(false)]

到我的控制器动作。

我想知道为什么网格会发回这么多数据?是我的代码或 Telerik 的错误的症状吗?

这是我在 Fiddler 中看到的(请注意极长的查询字符串,即使 HTTP 动词是“POST”)。

POST http://127.0.0.1:52601/MyController/DatabindGrid?Items=System.Collections.ObjectModel.Collection%601%5BPMyNamespace.Data.ViewEntities.Alert%5D&DetailsClientUrl=&GetJsonUrl=%2FMonitor%2FGetGridJson&ViewName=&CurrentItem=&PageTitle=My%20Web%20Page&CopyrightText=Copyright%20%26%23x00A9%3B%202004-2010%20My%20Company%20Corporation&BrowserCapabilities=&OemName=&UiVersion=20101123 HTTP/1.1
Referer: http://ipv4.fiddler:52601/MyController/MyAction
Content-Type: application/x-www-form-urlencoded
X-Requested-With: XMLHttpRequest
Accept: text/plain, */*; q=0.01
Accept-Language: en-US
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Host: 127.0.0.1:52601
Content-Length: 56
Connection: Keep-Alive
Pragma: no-cache
Cookie: ASP.NET_SessionId=bvgwuno4bounqio2werepkw4; .ASPXAUTH=612E18BB916F720D13A0F0D1695A86079B94DFE94A3BF5A9A8F19E35A37AE987282B7B684201C112CEC6081181E3D1C52C5517A66D9158E4CF83C1C3F523EE32FF783BD2E3B6E0A42A35E1874E63BA76C7735F9E8ABBA4E58BF61EB29DA03789E07A201A1BA9E7B85F941516ED7EA26E3E8E1E65D0836F39A109201E357EE97478D1A359B3FB4B4AD4C64A02A0CE7BBB39DC8FE1F73B179F284A14CF55D9C67D
page=1&size=10&orderBy=LocationName-asc&groupBy=&filter=
4

1 回答 1

0

瑞克,

我想你可能对这个感兴趣...

http://tv.telerik.com/watch/aspnet-mvc/video/building-a-responsive-site-with-mvc

非常详细和翔实。

〜阿泽

于 2010-12-21T22:57:09.737 回答