HyperLink不同页面传值
在使用HyperLink传值时:代码
<asp:TemplateField HeaderText="订购" >
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# "~/Default3.aspx?BookName="+Eval("书名")%>' Text="订购"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
接收页面代码:
string str = Request.QueryString["BookName"];
string sql = "select [书名] from BookInformation where[书名]='" + str + "'";
string connstr = ConfigurationManager.ConnectionStrings["BookConnectionString"].ConnectionString;
SqlConnection conn = new SqlConnection(connstr);
SqlCommand cmd = new SqlCommand(sql, conn);
try
{
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
dr.Read();
Label1.Text = dr[0].ToString();
dr.Close();
}
catch (Exception err)
{
Response.Write(err.Message);
}
finally
{
conn.Close();
}
出现的错误提示:在没有任何数据时进行无效的读取尝试。
请高手指教! --------------------编程问答-------------------- 你确定你的路径没问题么
--------------------编程问答-------------------- 出现的错误提示:在没有任何数据时进行无效的读取尝试。
----------------------
读之前先判断一下
SqlDataReader dr = cmd.ExecuteReader();--------------------编程问答-------------------- 你能取到str不?打断点看看呀,另外看看 NavigateUrl的路径写的对不?好久没写过代码了,
if(dr.HasRows)
{
dr.Read();
//...
}
代码没错时再看数据库(这个估计一般不会有问题的) --------------------编程问答-------------------- 改为:
--------------------编程问答--------------------
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='~/Default3.aspx?BookName=<%#Eval("书名")%>' Text="订购"></asp:HyperLink>
对头 要判断一下有没有数据啊
if (dr.Read())
{
.....
}
补充:.NET技术 , ASP.NET