C# 如何在asp.NETMVC中管理Web api控制器的序列化/反序列化
假设我想向我的Web Api控制器发送一些序列化实体 例如:C# 如何在asp.NETMVC中管理Web api控制器的序列化/反序列化,c#,asp.net,asp.net-mvc,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,假设我想向我的Web Api控制器发送一些序列化实体 例如: var rectification = {}; rectification.id = "some string"; rectification.idType = "string"; rectification.objectId = "56d560564ee6bc45a0d7b711" rectification.type="ObjectId" $.ajax({ url: '/controller/method',
var rectification = {};
rectification.id = "some string";
rectification.idType = "string";
rectification.objectId = "56d560564ee6bc45a0d7b711"
rectification.type="ObjectId"
$.ajax({
url: '/controller/method',
async: false,
type: "POST",
data: JSON.stringify(rectification),
dataType: "json",
contentType: "application/json; charset=utf-8",
error: function(jqXHR, textStatus, errorThrown) {
alert(jqXHR + "-" + textStatus + "-" + errorThrown);
},
success: function(data, textStatus, jqXHR) {
$("#Results").show();
$("#ResultMessage").html(data.Message);
}
});
然后在我的WebAPI控制器中,我想根据一些规则对其进行反序列化,这些规则对于所有控制器来说都是通用的,我想在一些C代码类中描述这些规则。我意识到MediaTypeFormatters实现应该用于此目的,但找不到如何实现的好建议
[HttpPost]
public JsonResult MethodName(ViewModel model)
{
// Your Code here
}
public class ViewModel
{
//All your property which you passing from view to controller via AJAX
public string id { get; set; }
public string idType { get; set; }
public string objectId { get; set; }
public string type{ get; set; }
}
您的方法将解析数据并按键进行设置。但要确保双方(客户端和服务器端)的密钥名必须相同
您的方法将解析数据并按键进行设置。但请确保双方(客户端和服务器端)的密钥名称必须相同。我想更改标准映射。这就是为什么我不能使用你的建议事实上我需要修改现有的标准地图试试这个它会为你工作。因为通过ajax将数据传递给控制器中的方法是标准且安全的方法。我在其他部分使用了您的建议。现在我需要扩展itI,我想更改标准映射。这就是为什么我不能使用你的建议事实上我需要修改现有的标准地图试试这个它会为你工作。因为通过ajax将数据传递给控制器中的方法是标准且安全的方法。我在其他部分使用了您的建议。现在我需要扩展它