0

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

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

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

4

4 回答 4

1

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

但是,它返回一个类型的对象,object并且当与+带有字符串的运算符一起使用时,不需要在ToString()其上调用该方法。它在连接期间自动调用。

于 2013-02-07T10:19:06.297 回答
1

您在 Eval() 之后缺少一个 + ,并且在 a 标签上缺少一个 runat="server" 。另外,对于数据绑定的东西,我更喜欢 asp:HyperLink 而不是普通的 a 标记:

<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>
于 2013-02-07T10:21:54.830 回答
0

我认为您在连接值时有错误...您可以尝试如下...

也许它会帮助你...

 <a href='Photos.aspx?AlbumID=<%# Eval("AlbumID") + "&address=" + Request.QueryString["Id"].ToString() %>'> 
于 2013-02-07T10:32:21.617 回答
0

我认为有两个错误。一是在Eval后面忘记了一个+操作数,二是eval返回一个对象,放这种类型的内联代码不会自动调用ToString()方法,所以必须显式设置:Eval("专辑 ID").ToString()。

希望这可以帮助。

<a href='<%# "Photos.aspx?AlbumID="+ Eval("AlbumID").ToString() + "&address=" + Request.QueryString["Id"].ToString() %>'>
于 2013-02-07T17:23:43.643 回答