我用asp.net和c#搭建网站,我有以下方法
public List<string> GetAllNameDoc(List<int> ids)
{
List<string> Names = new List<string>();
foreach (int r in ids)
Names.Add(GetNameDoc(r));
return Names;
}
我想在 DataList 或 Listview 或 Gridview 组件中查看此方法的结果。可能是组件的数据源类型是对象但是问题如何将参数“ids”传递给这些组件。我试试
DataList1.DataSource = GetAllNameDoc(ids);
DataList1.DataBind();
但这是行不通的。感谢所有尝试帮助我的人,我希望我现在已经很好地解释了这个问题。
假设这是 WPF。您可以创建一个代表您的文档的类(id 的属性和文档名称的属性)。然后,您可以填充这些对象的列表,并将它们设置为 ListView 的项目源。下面是一个例子。
在你的 Xaml 中:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<ListView x:Name="TestListView">
<ListView.View>
<GridView>
<GridViewColumn DisplayMemberBinding=
"{Binding Path=Id}"
Header="DocumentId" Width="Auto"/>
<GridViewColumn DisplayMemberBinding=
"{Binding Path=DocName}"
Header="DocName" Width="Auto">
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
</Window>
在您的代码隐藏中:
namespace WpfApplication1
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
List<int> ids = new List<int>() { 1, 2, 3 };
this.TestListView.ItemsSource = GetAllNameDoc(ids);
}
public List<Docs> GetAllNameDoc(List<int> ids)
{
List<Docs> docs = new List<Docs>();
foreach (int r in ids)
{
docs.Add(new Docs() { Id = r, DocName = GetNameDoc(r) });
}
return docs;
}
private string GetNameDoc(int id)
{
return "SomeDocName";
}
}
public class Docs
{
public int Id { get; set; }
public string DocName { get; set; }
}
}
我是一名优秀的程序员,十分优秀!