问题描述:
使用了GridView,然后用asp:UpdatePanel控件实现无刷新分页。当点击下一页等会提示错误.
本想截图的,结果问题无法重现了。
问题会弹出一个小窗口,提示上面错误,还具体给你一个详细信息,明确的指出了哪一行出现了问题.根据指向,找到了这列,将其屏蔽,OK,问题不再出现了。
但是治标不治本,咱们不做,要做就把问题彻底解决.
网上也搜索了,描述了一大堆英文,好晕...
自己于是把这个控件 <asp:BoundField DataField="RealName" HeaderText="真实姓名" />
改成了 <asp:TemplateField>
<ItemTemplate><asp:Label ID="lblRealName" runat="server"><%#Eval("RealName")%></asp:Label></ItemTemplate>
</asp:TemplateField>
结果不行,问题依旧。
于是仔细研究给于的提示,有所顿悟,意思其实就是说AJAX不能识别这些格式,查看了下程序中标签的格式是否都正确了,检查完问题依旧。
问题又回到 那列,心想,别的列都不会,偏偏这列会?查看了源代码也是发现不了什么,问题肯定出在这个 "真实姓名",这名字有问题,于是去数据库修改下,问题竟然解决了...
总结下:貌似前些天有看见 真实姓名,例如张三,在修改个人资料还是什么我忘记了,读取出来的并不是显示张三,而是显示 张三tbtbtbtbtb 忘记是不是tb了,就是一列上面一个字母下面一个字母,在数据库看还是空的.将张三后面的空格删除,OK,问题解决.
就在刚才,问题终于找到原因了.原来 真实姓名这列是 nvarchar类型,不小心被我修改成了binary,变了二进制,当你再次转成nvarchar类型,其实跟原来的值已经不一样了,将名字后面多余的东西清除即可.
再次大总结:遇到这个问题,万变不离其宗,肯定是格式不对,以至于AJAX无法识别,首先找到哪里出现了,然后将这地方的格式修改对了即可.
图片已经上传
使用了GridView,然后用asp:UpdatePanel控件实现无刷新分页。当点击下一页等会提示错误.
本想截图的,结果问题无法重现了。
问题会弹出一个小窗口,提示上面错误,还具体给你一个详细信息,明确的指出了哪一行出现了问题.根据指向,找到了这列,将其屏蔽,OK,问题不再出现了。
但是治标不治本,咱们不做,要做就把问题彻底解决.
网上也搜索了,描述了一大堆英文,好晕...
自己于是把这个控件 <asp:BoundField DataField="RealName" HeaderText="真实姓名" />
改成了 <asp:TemplateField>
<ItemTemplate><asp:Label ID="lblRealName" runat="server"><%#Eval("RealName")%></asp:Label></ItemTemplate>
</asp:TemplateField>
结果不行,问题依旧。
于是仔细研究给于的提示,有所顿悟,意思其实就是说AJAX不能识别这些格式,查看了下程序中标签的格式是否都正确了,检查完问题依旧。
问题又回到 那列,心想,别的列都不会,偏偏这列会?查看了源代码也是发现不了什么,问题肯定出在这个 "真实姓名",这名字有问题,于是去数据库修改下,问题竟然解决了...
总结下:貌似前些天有看见 真实姓名,例如张三,在修改个人资料还是什么我忘记了,读取出来的并不是显示张三,而是显示 张三tbtbtbtbtb 忘记是不是tb了,就是一列上面一个字母下面一个字母,在数据库看还是空的.将张三后面的空格删除,OK,问题解决.
就在刚才,问题终于找到原因了.原来 真实姓名这列是 nvarchar类型,不小心被我修改成了binary,变了二进制,当你再次转成nvarchar类型,其实跟原来的值已经不一样了,将名字后面多余的东西清除即可.
再次大总结:遇到这个问题,万变不离其宗,肯定是格式不对,以至于AJAX无法识别,首先找到哪里出现了,然后将这地方的格式修改对了即可.
图片已经上传