如何从源代码传递Querystring

本文关键字:Querystring 源代码 | 更新日期: 2023-09-27 17:58:02

我正在尝试从html源代码传递querystring,链接在ListView 的ItemTemplate中

<a href='<%# "Photos.aspx?AlbumID="+Eval("AlbumID") "&address=" + Request.QueryString["Id"].ToString() %>'> 

我试过这个代码,但它不起作用。存在多个错误。

如何从源代码传递Querystring

我认为它应该只是Request["Id"]

但是,它返回一个类型为object的对象,当与带字符串的+运算符一起使用时,不需要对其调用ToString()方法。它在串联过程中自动调用。

Eval()后面缺少一个+,a标记上缺少一个runat="server"。此外,我更喜欢asp:HyperLink,而不是普通的数据绑定标签:

<asp:Listview runat="server" ID="TestLV">
    <ItemTemplate>
        <asp:HyperLink runat="server" ID="TestHL" NavigateUrl='<%# "Photos.aspx?AlbumID=" + Eval("AlbumID") + "&address=" + Request.QueryString["Id"] %>' ></asp:HyperLink>
    </ItemTemplate>
</asp:Listview>

我认为您在连接valus时出错。。。你能试试下面的吗。。。

也许它会帮助你。。。

 <a href='Photos.aspx?AlbumID=<%# Eval("AlbumID") + "&address=" + Request.QueryString["Id"].ToString() %>'> 

我认为有两个错误。一种是您忘记了Eval之后的一个+操作数,另一种是Eval返回一个对象,并且放入这种类型的内联代码不会自动调用方法ToString(),因此您必须显式设置它:Eval("AlbumID").ToString().

希望这能有所帮助。

<a href='<%# "Photos.aspx?AlbumID="+ Eval("AlbumID").ToString() + "&address=" + Request.QueryString["Id"].ToString() %>'>