日期:2014-05-16  浏览次数:21249 次

request,array,split
if (Request.QueryString["id"] != null)
        {
            string s = Request.QueryString["id"].ToString();
            s.TrimEnd(',');
            int j = Request.QueryString["id"].Count();
            string[] sArray = s.Split(',');
            for (int l = 0; l < Request.QueryString["id"].Count();l++ )
            {
                int i1 = Convert.ToInt32(sArray[1]);
                SqlDataSource1.SelectCommand += string.Format(" AND Indentid={0}", i1);
             }
          }
为何sArray[]中括号不是1会出现错误;
SqlDataSource1.SelectCommand += string.Format(" AND Indentid={0}", i1);这条语句中
当i1为字符串类型时为何会出现错误,这条语句对吗?
使用s.TrimEnd(',');为何会去不掉字符串s末尾的逗号,头好疼啊
------解决方案--------------------
贴出你的调试结果,说明当你变换url参数值时:

    Request.QueryString["id"].Count() 是什么结果?
    

另外建议你重新学习一下t-sql语法中关于字符串常量的语法。
------解决方案--------------------
兄弟,你这一串代码不下5处漏失和exception隐患啊。

建议你换这个方法吧,别用那种揪心的方法处理分隔符了。
 string[] sArray = s.Split(new char[]{','}, StringSplitOptions.RemoveEmptyEntries);