当前位置:  开发笔记 > 编程语言 > 正文

将通用列表绑定到转发器 - ASP.NET

如何解决《将通用列表绑定到转发器-ASP.NET》经验,为你挑选了3个好方法。

我试图绑定List到转发器.我已经使用该ToArray()方法将列表转换为数组,现在有一个数组AreaField[]

这是我的班级层次结构

public class AreaFields
{
    public List Fields { set; get; }
}

public class Fields
{
    public string Name { set; get; }
    public string Value {set; get; }
}

在aspx中,我想绑定一个转发器(类似这样)

DataBinder.Eval(Container.DataItem, "MyAreaFieldName1")

MyAreaFieldName1是AreaFieldItem类中Name属性的值.



1> Solburn..:

这简直太简单了......

代码背后:

// Here's your object that you'll create a list of
private class Products
{
    public string ProductName { get; set; }
    public string ProductDescription { get; set; }
    public string ProductPrice { get; set; }
}

// Here you pass in the List of Products
private void BindItemsInCart(List ListOfSelectedProducts)
{   
    // The the LIST as the DataSource
    this.rptItemsInCart.DataSource = ListOfSelectedProducts;

    // Then bind the repeater
    // The public properties become the columns of your repeater
    this.rptItemsInCart.DataBind();
}

ASPX代码:


  
    
    
    
Product Name Product Description Product Price
<%# Eval("ProductName") %> <%# Eval("ProductDescription")%> <%# Eval("ProductPrice")%>

我希望这有帮助!


这应该标记为正确的答案.
这很棒。注意,如果没有模板,则不需要“页眉”和“页脚”模板。如果将这些作为原始html放在转发器之前和之后,将使开始和结束html的解析更加清晰。

2> bendewey..:

您可能想要创建一个subRepeater.


  
    <%# Eval("Name") %>
  

你也可以投射你的领域

<%# ((ArrayFields)Container.DataItem).Fields[0].Name %>

最后,您可以执行一些CSV函数并使用函数写出您的字段

<%# GetAsCsv(((ArrayFields)Container.DataItem).Fields) %>

public string GetAsCsv(IEnumerable fields)
{
  var builder = new StringBuilder();
  foreach(var f in fields)
  {
    builder.Append(f);
    builder.Append(",");
  }
  builder.Remove(builder.Length - 1);
  return builder.ToString();
}


RUNAT = "SubRepeater"?!? - 这违背了我对runat属性的理解(或者我认为我理解).

3> 小智..:

代码背后:

public class Friends
{
    public string   ID      { get; set; }
    public string   Name    { get; set; }
    public string   Image   { get; set; }
}

protected void Page_Load(object sender, EventArgs e)
{
        List  friendsList = new List();

        foreach (var friend  in friendz)
        {
            friendsList.Add(
                new Friends { ID = friend.id, Name = friend.name }    
            );

        }

        this.rptFriends.DataSource = friendsList;
        this.rptFriends.DataBind();
}

.aspx


            
                
                    
                    
ID Name
<%# Eval("ID") %> <%# Eval("Name") %>

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有