__VIEWSTATE是asp.net用来保持视图状态的一个隐藏字段。你可禁用一下页面的视图看看。
解决方案 »
- 用js实现对textarea的隐藏和显示
- 如何改变导航条上文字的颜色?
- 急!急!急!!javascript页面跳转失效!急,在线等.
- 怎样用javascript制作控制mediaplayer播放进度和声音大小的滑动条
- 怎样控制浏览器里面的文本框的记忆功能?
- 树形菜单、放大镜、书签、日历、调色板
- 从地址栏输入URL连接,如何弹出一个无标题栏的新窗口,并关闭本窗口?
- 怎样用脚本实现:根据屏幕的分辨率设置<object width=xx height=yy></object>中的宽和高?
- 请问怎样把表单里的文本放到链接里
- json数组赋值给json对象数组
- 求漂浮窗口(内嵌html页)?
- 不同的域名显示不同的内容(高分)
不管怎么生成都是html
没有,就可以运行。
<%@ Page Language="C#" %><script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript">
function test(){
new Ajax.Request( 'p2.aspx',
{
method: 'post',
postBody: $('logform').serialize(),
onSuccess: function( transport ) {
alert(1);
}
});
return false;
}
</script>
<form id="Form1" runat="server">
<input id="bt001" type="button" value="Click" onclick="test();" />
</form>
加上runat=server,就不能工作所以我才用我问题中的代码测试,发现是Viewstate的问题。请试试我那段代码就可以看到结果。
<%@ Page Language="C#" %>
<script type="text/javascript" src="prototype-1.6.0.2.js"></script>
<script type="text/javascript">
function test(){
new Ajax.Request('p2.aspx', {
method:'post',
postBody:'test1=1&test2=2',
onSuccess:function(transport){
alert('test');
}
});
return false;
}
</script>
<form id="Form1" runat="server">
<input id="bt001" type="button" value="test" onclick="test();" />
</form>
document.write(arguments[0].responseText);
},
终于发现了原因,问题在postBody: $('logform').serialize(),这一句
这句话把__VIEWSTATE编码进去了,然后传递到p2.aspx页面时,导致了这个错误:验证视图状态 MAC 失败所以始终不能正确弹出信息解决办法,不使用serialize,自己组装参数
或者,在p2页面的Page里加上 enableEventValidation="false" enableViewStateMac="false"不管怎么样,谢谢大家了。