如何从源代码传递Querystring?

时间:2013-02-07 10:16:14

标签: c# asp.net

我正在尝试从html源代码传递查询字符串,该链接位于ListView的ItemTemplate中

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

我尝试了这段代码,但它没有用。有多个错误。

4 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

你的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>

答案 2 :(得分:0)

我认为您在连接值时遇到错误...您可以尝试以下方式...

可能会帮助你...

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

答案 3 :(得分:0)

我认为有两个错误。一个是你在Eval之后忘记了一个+操作数,另一个是eval返回一个对象并且这种类型的内联代码不会自动调用ToString()方法,所以你必须明确地设置它:Eval(“ ALBUMID“)。的ToString()。

希望这有帮助。

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