我已經想要將數據插入數據庫而無需回發的場景。大約有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」類對象呢?