我已经想要将数据插入数据库而无需回发的场景。大约有12到13个字段需要插入。我从实际上是Json对象的客户端传递DTO。现在,我面临的问题是如何将我在webservice中获得的Json对象转换为“类”(在我的例子中,类名是User)对象。如何将Json对象转换为web服务中的cutom类对象?
<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)
{
}
});
});
,你可以看到我传递的数据作为数据: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对象转换为“User”类对象呢?