我使用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组件中查看此方法的结果.MayBe组件的数据源类型是对象但问题如何将参数“ids”传递给这些组件。 我试试
DataList1.DataSource = GetAllNameDoc(ids);
DataList1.DataBind();
但它不起作用。 感谢每一个尝试过帮助我的人,我希望我现在能很好地解释这个问题。
答案 0 :(得分:1)
假设这是WPF。您可以创建一个表示文档的类(id的属性和文档名称的属性)。然后,您可以填充这些对象的列表,并将它们设置为列表视图的项目源。以下是一个例子。
在您的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; }
}
}
答案 1 :(得分:0)
Linq可能会让您了解如何传递ID:
public List<string> GetAllNameDoc(List<int> ids) {
return ids.Select(id => GetNameDoc(id)).ToList();
}
我同意@Hans,如果没有更多详细信息,很难提供更多帮助。