У меня есть сценарий, в котором я хочу вставить данные в базу данных без обратной отправки. Есть около 12-13 полей, которые мне нужно вставить. Я передаю DTO со стороны клиента, которая на самом деле является объектом Json. Теперь проблема, с которой я сталкиваюсь, заключается в том, как преобразовать тот объект Json, который я получил в веб-сервисе, в объект «class» (в моем случае имя класса - User).
<script type="text/javascript" language="javascript">
$('#<%= btnSaveInfo.ClientID %>').click(function()
{
// Initialize the object, before adding data to it.
// { } is declarative shorthand for new Object().
var User = { };
User.FirstName = $('#<%= txtFirstName.ClientID%>').val();
User.MiddleName = $('#<%= txtMiddleName.ClientID%>').val();
User.LastName = $('#<%=txtLastName.ClientID %>').val();
User.Gender = $('table#<%= rdbGenderType.ClientID %> input:radio:checked').val();
User.DateCreated = Date.UTC();
User.Description = $('#<%= txtDescription.ClientID%>').val();
User.DOB = $('#<%= txtDOB.ClientID %>').val();
User.Location=$('#<%= txtLocation.ClientID %>').val();
var DTO = {'User' : User};
var path = 'MyWebService.asmx/AddNewUser';
$.ajax
({
type: "POST",
url: path,
contentType: "application/json; charset=utf-8",
dataType: "json",
data: JSON.stringify(DTO),
async:false,
success: function(msg)
{
}
});
});
как вы можете видеть, я передаю данные как data: JSON.stringify (DTO), . Теперь, как мне преобразовать этот объект JSon в
[WebMethod]
[System.Web.Script.Services.ScriptMethod(ResponseFormat = System.Web.Script.Services.ResponseFormat.Json)]
public bool AddNewUser(Object User)
{
return UserRepository.AddNewUser(User);
}
В приведенном выше случае метод AddNewUser принимает объект класса User. Но я получаю ошибку. Итак, как мне преобразовать объект Json в объект класса «Пользователь»?