asp.net Request.QueryString无法获取数据库表
索引超出范围。必须为非负值并小于集合大小。参数名:index说明:执行当前Web请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处...
索引超出范围。必须为非负值并小于集合大小。参数名: index
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。参数名: index源错误:
行 22: 行 23: 行 24: Phone_id = Request.QueryString.Get(0).ToString().Trim();行 25: int phoneid = Convert.ToInt32(Phone_id);行 26: SqlStr = "select * from 手机表 where 手机编号=" + phoneid;
我的后台代码:
String SqlStr;
DataSet Ds = new DataSet();
DB db = new DB();
String Phone_id;
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack == false)
{
Phone_id = Request.QueryString.Get(0).ToString().Trim();
int phoneid = Convert.ToInt32(Phone_id);
SqlStr = "select * from 手机表 where 手机编号=" + phoneid;
Ds = db.GetDataTableBySql(SqlStr);
try
{
if (Ds.Tables[0].Rows.Count != 0)
{
this.Repeater1.DataSource = Ds.Tables[0].DefaultView;
this.Repeater1.DataBind();
Session["phone_id"] = phoneid;
}
}
catch (Exception)
{
Response.Write("<script>alert('没有获得任何数据,请检查!')</script>");
}
} 展开
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。参数名: index源错误:
行 22: 行 23: 行 24: Phone_id = Request.QueryString.Get(0).ToString().Trim();行 25: int phoneid = Convert.ToInt32(Phone_id);行 26: SqlStr = "select * from 手机表 where 手机编号=" + phoneid;
我的后台代码:
String SqlStr;
DataSet Ds = new DataSet();
DB db = new DB();
String Phone_id;
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack == false)
{
Phone_id = Request.QueryString.Get(0).ToString().Trim();
int phoneid = Convert.ToInt32(Phone_id);
SqlStr = "select * from 手机表 where 手机编号=" + phoneid;
Ds = db.GetDataTableBySql(SqlStr);
try
{
if (Ds.Tables[0].Rows.Count != 0)
{
this.Repeater1.DataSource = Ds.Tables[0].DefaultView;
this.Repeater1.DataBind();
Session["phone_id"] = phoneid;
}
}
catch (Exception)
{
Response.Write("<script>alert('没有获得任何数据,请检查!')</script>");
}
} 展开
5个回答
展开全部
1.Request.QueryString.Count;看一下这个参数是多少
2.你当前这个页面,是通过别的页面跳转过来的?
2.你当前这个页面,是通过别的页面跳转过来的?
更多追问追答
追问
嗯从GridView
跳转过来,在Repeater上显示在GridView上点击行的数据
追答
你最好不要用中文作为你的参数
<asp:HyperLinkField HeaderText="详细信息" Text="详细信息" DataNavigateUrlFields="手机编号"
DataNavigateUrlFormatString="shouji_xiangqing.aspx?PhoneID={0}"/>DataNavigateUrlFormatString="shouji_xiangqing.aspx?PhoneID={0}"/>,这段代码后面是不是少一个能替换{0}的数据?
展开全部
Request.QueryString 是获取URL参数,而不是获取数据库表
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Phone_id = Request.QueryString["Phone_id"];试试
追问
说说我想要实现的吧,获取SQL手机表中的列:手机编号 同时存与缓存中方便别的控件使用,而又要以手机编号为条件获取手机表的数据显示在Repeater1上。SQL手机编号类型int
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
request.querystring["出过来的变量"],不知道能不能使用get(0)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看看是不是值没有获取到哦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询