读书人

Prototype.js使用有关问题控件中有个

发布时间: 2012-03-20 14:01:11 作者: rapoo

Prototype.js使用问题,控件中有个__VIEWSTATE就不能应用AJAX了
很简单的一段代码,就是不能提交,
如果我把__VIEWSTATE控件删除,或者把="__VIEWSTATE控件的value删除,代码就正常运行到alert(1):
请问原因是什么?怎么能让它正常运行

说明:__VIEWSTATE是asp.net自动生成的,所以不可能删除:

HTML code
<html xmlns="http://www.w3.org/1999/xhtml" ><head>    <title>无标题页</title>    <script type="text/javascript" src="prototype.js"></script>    <script type="text/javascript">        function login() {          new Ajax.Request( 'p2.aspx',          {            method: 'post',            postBody: $('logform').serialize(),            onSuccess: function( transport ) {                alert(1);            }          } );        }    </script></head><body>    <form id="logform">    <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJNzgzNDMwNTMzZGRs+GwJVuBVm9dJahyu9YPtnVNZBw==" />     <input type="button" onclick="login()" value="Login" />    </form></body></html>


[解决办法]
__VIEWSTATE是asp.net用来保持视图状态的一个隐藏字段。你可禁用一下页面的视图看看。
[解决办法]
有没有VIEWSTATE有影响吗?
不管怎么生成都是html
[解决办法]
你写一个文件测试就明白了.

C# code
<%@ 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>
[解决办法]
我测试没有问题.

C# code
<%@ 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> 

读书人网 >JavaScript

热点推荐