我正在尝试将列表从我的WCF服务传递到我的ASP.NET Web应用程序。
首先,我传递了一个通常的对象列表,并在我的配置中使用System.Collections.Generic.List
,一切正常。
现在我改变了我的代码并从我的列表中删除了一个对象 该课程如下:
public class Persons : List<Person>
{
private List<Person> personlist;
public Persons()
{
personlist = new List<Person>();
}
}
现在我很难配置。
我的配置有什么变化?
我将集合类型设置为:System.Collections.ObjectModel.Collection
我的客户没有给我一个错误:
WCF.Persons personlist = client.GetPersonList(@"C:\example");
但是当我运行应用程序时出现错误:
传递到字典中的模型项的类型为&#39; WCFasp.net.WCF.Persons&#39;,但此字典需要类型为&#39; System.Collections.Generic.List`1的模型项[WCFasp.net.WCF.Person]&#39;
甚至可以通过这样的事情吗?我在哪里进行更改?
我搜索了很多答案,但找不到任何有用的东西。
答案 0 :(得分:2)
您的wcf客户端代码很好,问题出在视图中,因为它只能理解List<Person>
类型的对象,您可以将它转换为基类型List<Person>
,然后再传递给它看起来像:
WCF.Persons personlist = client.GetPersonList(@"C:\example");
return View(personlist as List<Person>);
我的视图强烈输入List<Person>
我怀疑:
@model List<Person>
答案 1 :(得分:0)
WCF.Persons persons = client.GetPersonList(@"C:\example");
return View(persons);
您的观点应如下
@model WCF.Persons
@foreach(var person in Model)
{
@person
}