我正在尝试通过asp.net中的超链接通过querystring或Session [“ p”]发送ID,但是它一直给我这个错误“解析器错误”,请帮我!
我试图将其解析为int,但它也不起作用
//这是html
<asp:Repeater runat="server" ID="reptater" OnItemCommand="reptater_ItemCommand">
<ItemTemplate>
<section>
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='~/commander.aspx?id='+<%#Eval("id_Prod") %>>
<div class="gallery">
<h1> <%#Eval("nom_Prod") %></h1>
<asp:Image ID="image1" runat="server" width="180" height="120" ImageUrl='<%#Eval("img") %>' />
<div class="desc"> <%#Eval("Détails") %> <br> Prix: <%#Eval("prix") %> DH <%#Convert.ToInt32(Eval("id_Prod")) %></div>
</div>
</asp:HyperLink>
</section>
</ItemTemplate>
</asp:Repeater>
//这是我的代码
protected void Page_Load(object sender, EventArgs e)
{
Connexion.cnx.Open();
Connexion.dt1.Clear();
Label2.Text = Request.QueryString["search"].ToString();
int nbr;
Connexion.cmd.CommandText = "select count(*) from Produit where nom_Prod='" + Request.QueryString["search"].ToString() + "'";
Connexion.cmd.Connection = Connexion.cnx;
nbr = (int)Connexion.cmd.ExecuteScalar();
if (nbr >= 1)
{
Connexion.cmd.CommandText = "select id_Prod,nom_Prod,Détails,Prix,#emailVendeur,img from Produit where nom_Prod='" + Request.QueryString["search"].ToString() + "'";
Connexion.cmd.Connection = Connexion.cnx;
Connexion.dr = Connexion.cmd.ExecuteReader();
Connexion.dt1.Load(Connexion.dr);
reptater.DataSource = Connexion.dt1; ;
reptater.DataBind();
Connexion.dr.Close();
}
else { Label3.Visible = true; }
}
我想在单击div时将我带到另一个ID为会话的页面或一个我更喜欢作为会话的查询字符串
答案 0 :(得分:0)
代替使用
Request.QueryString["search"]
您应该使用
Request.QueryString["id"]
因为您要在查询字符串中发送“ id”
NavigateUrl ='〜/ commander.aspx?id ='+ <%#Eval(“ id_Prod”)%>