Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Json参数转换继承web api 2_Javascript_C#_.net_Json_Asp.net Web Api2 - Fatal编程技术网

Javascript Json参数转换继承web api 2

Javascript Json参数转换继承web api 2,javascript,c#,.net,json,asp.net-web-api2,Javascript,C#,.net,Json,Asp.net Web Api2,我使用MSWebAPI2来接收来自使用ajax的网页的调用。 然后我有两个类:subscriber和externalSubscriber。订户包含非常基本的数据,如姓名和id。外部订户从订户继承并添加地址和电子邮件等基本数据。我有一个api方法来编辑订阅服务器的数据,定义如下: public IHttpActionResult PutSubscriber(int id, Subscriber subscriber) 在我们的页面中,我使用提供的数据创建了一个json字符串,这导致它是一个外部订

我使用MSWebAPI2来接收来自使用ajax的网页的调用。 然后我有两个类:subscriber和externalSubscriber。订户包含非常基本的数据,如姓名和id。外部订户从订户继承并添加地址和电子邮件等基本数据。我有一个api方法来编辑订阅服务器的数据,定义如下:

public IHttpActionResult PutSubscriber(int id, Subscriber subscriber)
在我们的页面中,我使用提供的数据创建了一个json字符串,这导致它是一个外部订户或普通订户。 我可以使用这两种方法发布到这个函数,但是使用externalSubscriber对象时,添加的数据会丢失,并且尝试从订阅服务器强制转换会导致错误


我的问题是,是否有人对此问题有任何经验,除了创建一个用于放置外部订阅者的特定函数之外,是否还有其他方法来解决此问题

我使用了以下页面上提供的信息来实现这一功能:

首先,我设置json设置:

jsonsettings.SerializerSettings.TypeNameHandling = TypeNameHandling.Auto;
然后在使用ajax发送之前,使用

jsonObject { '$type' : .Models.ExternalSubscriber, solution.project', ....}
在此之后,我可以将传入订阅服务器强制转换为ExternalSubscriber并访问其属性

退房