C# 如何将对象列表从WCF服务传递到ASP.NET web应用程序
我正在尝试将列表从我的WCF服务传递到我的ASP.NET web应用程序。C# 如何将对象列表从WCF服务传递到ASP.NET web应用程序,c#,asp.net-mvc,wcf,C#,Asp.net Mvc,Wcf,我正在尝试将列表从我的WCF服务传递到我的ASP.NET web应用程序。 首先,我传递了一个常见的对象列表,并在配置中使用了System.Collections.Generic.list,一切都很顺利 现在我更改了代码并从列表中创建了一个对象。 该类如下所示: public class Persons : List<Person> { private List<Person> personlist; public Persons() {
首先,我传递了一个常见的对象列表,并在配置中使用了
System.Collections.Generic.list
,一切都很顺利
现在我更改了代码并从列表中创建了一个对象。该类如下所示:
public class Persons : List<Person>
{
private List<Person> personlist;
public Persons()
{
personlist = new List<Person>();
}
}
但是,当我运行应用程序时,会出现一个错误:
WCF.Persons personlist = client.GetPersonList(@"C:\example");
传递到字典中的模型项的类型为“WCFasp.net.WCF.Person”,但此字典需要“System.Collections.Generic.List`1[WCFasp.net.WCF.Person]”类型的模型项
这样的事情有可能通过吗?我必须在哪里进行更改
我搜索了很多好答案,但找不到任何有用的东西。您的wcf客户端代码很好,问题在于视图中,因为它只理解类型为
List
的对象,您可以将其向上转换为基本类型,即List
,然后将其传递到视图中,如:
WCF.Persons personlist = client.GetPersonList(@"C:\example");
return View(personlist as List<Person>);
WCF.Persons personlist=client.GetPersonList(@“C:\example”);
返回视图(个人列表为列表);
您的视图被强类型化为列表
我怀疑:
@model List<Person>
@型号列表
您的wcf客户端代码很好,问题在视图中,因为它只理解类型为列表的对象,您可以将其向上转换为基本类型,即列表
,然后将其传递给视图,如:
WCF.Persons personlist = client.GetPersonList(@"C:\example");
return View(personlist as List<Person>);
WCF.Persons personlist=client.GetPersonList(@“C:\example”);
返回视图(个人列表为列表);
您的视图被强类型化为列表
我怀疑:
@model List<Person>
@型号列表
你的观点应该如下
@model WCF.Persons
@foreach(var person in Model)
{
@person
}
你的观点应该如下
@model WCF.Persons
@foreach(var person in Model)
{
@person
}
非常感谢。我将视图中的模型绑定更改为新对象是的,您有两种选择,取决于什么适合您谢谢。我将视图中的模型绑定更改为新对象是的,您有两种选择,这取决于什么适合您