[英]C# System.ArgumentOutOfRangeException:Index was out of range
[英]System.ArgumentOutOfRangeException: Index was out of range
我的代码有另一个问题(ARGGGH!),我正在调用request.querystring,并且得到以下错误索引超出范围。 必须为非负数并且小于集合的大小。 参数名称:索引
public void getAccountRef()
{
string getAccountRef = (string)Request.QueryString["AccountRef"].ToString();
SqlDataSource1.SelectParameters[0].DefaultValue = getAccountRef;
}
有什么想法吗? 我正在尝试解析将要格式化为REDIT1的帐户ref
干杯
贾斯汀
我敢打赌SqlDataSource1没有设置参数,因此您尝试访问第一个(项目0)的尝试失败,因为索引必须在0到Count-1的范围内(在这种情况下,这不能满足任何要求)。 您需要添加参数。
另请注意:
string getAccountRef = (string)Request.QueryString["AccountRef"].ToString()
是双重冗余。 无需将.ToString()
的结果.ToString()
为字符串,因为ToString()
始终返回字符串。
也不需要在Request.Querystring[fieldName]
的结果上调用它,因为它也总是返回一个字符串。 以下内容就足够了:
string getAccountRef = Request.QueryString["AccountRef"];
我知道了! 我的SQLDataSource中没有设置参数!
<SelectParameters>
<asp:Parameter DefaultValue="1" Name="AccountRef" Type="String" />
</SelectParameters>
多谢你们
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.