1

好吧,我有这个很好用

<asp:LinkButton ID="abc" runat="server"
Text='<%#Eval("artist") %>'
PostBackUrl='<%#"~/welcome.aspx?artist="+Eval("artist")%>'>

现在我想用 <%= str %> 代替 test 中的艺术家,这是一个变量 .cs 文件

谁能告诉我该怎么做??

4

1 回答 1

1

给你一个例子:

澳交所:

<asp:Repeater ID="repItems" runat="server">
    <ItemTemplate>
        <asp:Panel ID="pnlItem" runat="server">                       
            <asp:LinkButton ID="lnkItem" runat="server" Text='<%# Eval(FieldName) %>' ></asp:LinkButton>                  
        </asp:Panel>
    </ItemTemplate>        
</asp:Repeater>

CS:

public partial class _Default : System.Web.UI.Page
{
    public string FieldName = @"Name";


    protected void Page_Load(object sender, EventArgs e)
    {
        List<ArtistInfo> artists = new List<ArtistInfo>();

        artists.Add( new ArtistInfo() { Name = "Lady GaGa", Location = "Nebraska" });
        artists.Add( new ArtistInfo() { Name = "Justin Timberlake", Location = "Memphis" });

        repItems.DataSource = artists;
        repItems.DataBind();
    }
}

public class ArtistInfo
{
    public string Name { get; set; }
    public string Location { get; set; }
}

由于<%# %>只是意味着在数据绑定期间评估此表达式并返回其结果,因此您可以将任何您想要的东西放在那里。在这种情况下,我们使用 FieldName 的参数调用 Eval,该参数是在代码隐藏中定义的字符串。

于 2012-08-08T14:19:56.227 回答