我使用.Net web API,我希望在C#中获取对象的结构并将其发送到前面,这样它就可以像后面那样构造对象。
但我不知道如何在C#中获取对象的确切结构(属性的结构和名称)
例如,对象就是这种对象public class{
public int a;
private string b;
private anAnotherObject c;
private List<otherObjects> d;
}
答案 0 :(得分:0)
您可以按照以下方式执行此操作
以下是我的课程
public class MyVM
{
public int ID {get;set;}
public string Name { get; set; }
}
这是我的动作,我的动作是MVC控制器动作,这可以是你的api动作。这是期待类对象的。
public ActionResult Create(MyVM createVM)
{
///Create Entry
}
现在,当你使用jquery进行调用时,可以像
那样进行调用您的按钮点击事件将调用CreateEntry。并且有一个名为CreateModel的变量,它是您的类的副本,您通过从文本框中获取值来从js传递值。
function CreateEntry()
{
var _id = $("#txtId").val();
var _Name = $("#txtName").val();
var CreateModel = {
ID : _id,
Name : _Name
}
var url=""MyAPI/Create"
$.ajax({
type: "POST",
headers: headers,
url: url,
data: {
createVM: CreateModel //Action Parameter name and variable which will map with class value.
},
success: function (data) {
alert("Save Success");
},
error: function (xhr) {
ErrorRosterMessage();
}
});
}
这将自动映射您的操作类名称及其值。
答案 1 :(得分:0)
首先,您拥有private
名成员?
让我们说它们是否公开。然后,您可以使用Javascript Serializer将对象序列化为json并将其发送到html或View
。
使用ajax调用,你可以发送json作为对象在你的行动method
上发送
$.ajax({url:url,
data:{j:dataModelOnJson},...})
})