在本机上用vs2005开发的网站,语言用vb.net调试编译运行都没有任何问题,使用发布网站,然后把 内容拷贝到虚拟主机,数据库配置无误,“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------索引超出了数组界限。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.IndexOutOfRangeException: 索引超出了数组界限。代码也没有问题, 在自己本机上建一个不同于项目名的虚拟目录,把发布网站生成的内容拷贝过来,运行也是这个错误实在不知道哪里出了问题,请高手指点以下,很急地请教
--------------------------------------------------------------------------------索引超出了数组界限。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.IndexOutOfRangeException: 索引超出了数组界限。代码也没有问题, 在自己本机上建一个不同于项目名的虚拟目录,把发布网站生成的内容拷贝过来,运行也是这个错误实在不知道哪里出了问题,请高手指点以下,很急地请教
index.Page_Load(Object sender, EventArgs e) +371
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +47
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1061
在网上查了下资料,vs2005 发布网站 是有这个问题啊
If Not IsPostBack() Then
Dim strCity As String = String.Empty
If Not Request.Cookies("City") Is Nothing Then
strCity = Request.Cookies("City").Value
Else
strCity = IP_City.GetCityFromIP(Request.ServerVariables.Get("Remote_Addr").ToString())
Dim MyCookie As HttpCookie = New HttpCookie("City")
MyCookie.Value = strCity
MyCookie.Expires = DateTime.Now.AddDays(14)
Response.SetCookie(MyCookie)
End If
Response.Redirect(strCity.Split(",")(1) + "/web/0/main.aspx")
End If
End Sub
主页的页面没有任何内容,就是上面这些,一个根据ip判断城市,然后跳转到对应的地址
错误了
--------------------------------------------
问题可能出在这一句上,你把它Response.Write出来看看
Response.Redirect(strCity.Split(",")(1) + "/web/0/main.aspx")
--------------------------------------------
你的代码里只有这一句用到了数组
很明显你服务器上没有Request.Cookies("City") 而你有没有加以判断
你能确认没问题啊,把这句话(Response.Redirect(strCity.Split(",")(1) + "/web/0/main.aspx")
)前面加个判断试试
1。
大哥, 你的 strCity 是运行时相关的, 而且是从 cookies 中获取的, 你确保你发布之后 cookies 值跟你之前的一摸一样迈?2。
strCity.Split(",")(1)
========
这种代码是最糟糕的,你以为,这样很简洁迈?你确定 strCity 一定至少包含一个的 , (逗号), 否则,必然 IndexOutofRange, 最要命的是你没有检查3。
不说了, 自个调试去4。
下次,提问题,想想想盖怎么提问,能够让大家以最快速度给你有用的建议,不要只来个错误信息,像这种问题关键是堆栈跟踪信息啊, 我想,假如你自习查看,一定可以看到堆栈信息指向的抛出异常的那一行代码5。
多宝贵的 200 fen 啊
获取值之后成乱码了,连逗号也没了,但是调试运行从来都是很正确的
发布网站 ,获取cookie的值就成乱码了,无论是在本机还是虚拟主机上都是这样
看来发布网站和调试运行总还是有些不同啊最后用server.encode 编码,取值的时候解码,问题解决
同样的问题!我更惨,我没有源代码! [email protected]
{
string[][] str2 = new string[i][]; int s1=0;
for (int i1 = 0; i1 < WenjianRead.f.Length;i1++ )
{ string s4 = WenjianRead.f[i1].ToString();
int m = Convert.ToInt32(s4);
str2[i1] = new string[m];
for (int i2 = 0; i2 < WenjianRead.f[i1];i2++ )
{ str2[i1][i2]=WenjianRead.a[s1];
s1++;
}
}
}
当程序运行时,str2[i1][i2]=WenjianRead.a[s1];提示出错:索引超出了数组界限。 请哪位大虾帮帮忙,代码那里有问题?小生才疏学浅急求解~~~~!!!