日期:2014-05-19  浏览次数:20388 次

如何解决在AJAX中因为提示框而产生对象未定义问题?谢谢
作了一个测试页   路径为WebTest\Test
<%@   Page   Language= "C# "   AutoEventWireup= "true "   CodeFile= "Test.aspx.cs "   Inherits= "WebTest_Test "   %>

<!DOCTYPE   html   PUBLIC   "-//W3C//DTD   XHTML   1.0   Transitional//EN "   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">

<html   xmlns= "http://www.w3.org/1999/xhtml "   >
<head   runat= "server ">
        <title> 欢迎您 </title>

<script   language= "javascript "   type= "text/javascript "   src= "Ajax.js "> </script>
<script   language= "jscript "   type   = "text/javascript ">
  mainLoop   =   function()
    {
        val   =   escape(queryField.value);
    if   (lastVal   !=   val)
  {
  var   response   =WebTest_Test.GetSearchItems(val);
showQueryDiv(response.value);
lastVal   =   val;
  }
  setTimeout( 'mainLoop() ',   100);
  return   true;
    }
</script>
测试通过,但一旦我在该页面上弹出对话框后,如:
Response.Write( " <script> alert( '对不起!您输入数字不符合规则,请核对后重新填写! ') </script> ");
在进行数据填充的时候,就会报WebTest_Test未定义。只有重新指引一下才可以。
Response.Redirect( "Test.aspx ");
这个应该怎么解决?
谢谢

------解决方案--------------------
1。 首先:webconfig里面的配置保证是正确的
2。 其次:Page_Load里面加上注册信息
3。 Ajax.Method方法保证正确

------解决方案--------------------
Response.Write( " <script> alert( '对不起!您输入数字不符合规则,请核对后重新填写! ') </script> ");
改成
page.RegisterStartupScript( " <script> alert( '对不起!您输入数字不符合规则,请核对后重新填写! ') </script> ");
------解决方案--------------------
Response.Write( " <script> alert( '对不起!您输入数字不符合规则,请核对后重新填写! ') </script> ");
改成
page.RegisterStartupScript( " <script> alert( '对不起!您输入数字不符合规则,请核对后重新填写! ');window.location.reload(); </script> ");
------解决方案--------------------
学习ing ...

var response =WebTest_Test.GetSearchItems(val);
这个WebTest_Test带js代码里吗?