初学.net,高分求救第4题,怪事呀!请进.............
我现在正在学习内部对像Request
页1为 default.asp传username和userpwd到default.aspx
其中default.aspx.cs文件中相关代码如下:
NameValueCollection coll;
string[] arr;
int m;
int i;
coll=Request.Form; //coll为username=aaaa&userpwd=1111
arr=coll.AllKeys;
m=arr.GetUpperBound(0); //m=1
for(i=0;i<=m;i++);
{
Response.Write("表单键:"+arr[i]+"<br>");
}
按理应该有以下输出
表单键:username
表单键:userpwd
可没有,出现如下错误信息:
-------------
索引超出了数组界限。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.IndexOutOfRangeException: 索引超出了数组界限。
----
堆栈跟踪:
[IndexOutOfRangeException: 索引超出了数组界限。]
ch06._01.answerpost() in d:\dotnetstudy\ch06\01.aspx.cs:38
ch06._01.Page_Load(Object sender, EventArgs e) in d:\dotnetstudy\ch06\01.aspx.cs:23
System.Web.UI.Control.OnLoad(EventArgs e)
System.Web.UI.Control.LoadRecursive()
System.Web.UI.Page.ProcessRequestMain()
-----------------------
经我测试,发现那个变量i=2了,因为m=1,所以就超出,出错,我现在就不明白为什么我初始化=0,从哪变成2了,还是其它哪地方出错了,大家帮帮我,谢谢!