我的代码有另一个问题(ARGGGH!)我有一个request.querystring,我正在调用,我收到以下错误索引超出范围。必须是非负数且小于集合的大小。参数名称:index
public void getAccountRef()
{
string getAccountRef = (string)Request.QueryString["AccountRef"].ToString();
SqlDataSource1.SelectParameters[0].DefaultValue = getAccountRef;
}
有什么想法?我正在尝试解析格式为REDIT1
的帐户ref干杯
贾斯汀
答案 0 :(得分:1)
我敢打赌,SqlDataSource1没有设置参数,因此您尝试访问第一个(项目0)失败,因为索引必须在0到Count-1的范围内(在这种情况下没有任何满足)。您需要添加参数。
另请注意:
string getAccountRef = (string)Request.QueryString["AccountRef"].ToString()
双重多余。没有必要将.ToString()
的结果强制转换为字符串,因为ToString()
总是返回一个字符串。
也不需要在Request.Querystring[fieldName]
的结果上调用它,因为它也总是返回一个字符串。以下就足够了:
string getAccountRef = Request.QueryString["AccountRef"];
答案 1 :(得分:0)
我明白了!我的SQLDataSource中没有参数设置!
<SelectParameters>
<asp:Parameter DefaultValue="1" Name="AccountRef" Type="String" />
</SelectParameters>
谢谢你的