在CTP版中,只要在web config中配置如下即可:
<jsonSerialization maxJsonLength="500">
<converters>

<add name="DataSetConverter" type="Microsoft.Web.Preview.Script.Serialization.Converters.DataSetConverter, Microsoft.Web.Preview, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add name="DataRowConverter" type="Microsoft.Web.Preview.Script.Serialization.Converters.DataRowConverter, Microsoft.Web.Preview, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add name="DataTableConverter" type="Microsoft.Web.Preview.Script.Serialization.Converters.DataTableConverter, Microsoft.Web.Preview, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</converters>
</jsonSerialization>
在server端直接调用个返回DataTable的方法就可以了,多简单啊 感动的都哭了。
下载并安装了正式版后,有炸了微软大楼的冲动.正式版中竟然把这三个Converter给干掉了,取而代之的是一个抽象类JavaScriptConverter,让我们自己去写Converter,想想我就怒从心头起,恶向胆边生,我()*&^*&&%(*&....省略两万字.
伤心归伤心,工作还得做啊 怎么办呢 想了几个解决办法.
第一种,最简单的。直接把CTP版中的那个dll引用上来,那么一切就象以前一样,又恢复平静了....
第二种,自己写一个DataTableConverter类.这里我在一个老外的网站上发现了一个,不过写的可能有点儿问题.调用后返回到页面中后就不知道该怎么用了。
调用时的C#方法:
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public DataTable GetTable()
前台返回的值是个看起来想json的东西(之所以说它象,是因为我没有办法象json一样用它,当然,也有可能是我用的有问题,大家给我点儿建议啊) 我的回调函数如下:
function onSuccess(result)
{
alert(result.rows[i].key);
}
如果第二种方法不行,就只有用第一种了。
我都愁死了,