我將信息從我的form
傳遞到我的WebMethod
。目標是用表單中的數據填充UseInfo
對象,並填充NewUser
類中添加的一些屬性,這些屬性也是從ajax請求傳遞的。將多個對象從Ajax傳遞到WebMethod
當我有一個輸入參數UserInfo
時,對象在ajax帖子後成功填充。但是,如果我有NewUser對象,則只有屬性Relationship
會填充,但UserInfo
對象顯示爲Nothing。
任何想法我做錯了什麼?我是否需要爲我的課程NewUser
提供不同的結構?
NEWUSER類
Public Class NewUser
Public Property UserInfo As UserInfo
Get
Return _UserInfo
End Get
Set(value As UserInfo)
_UserInfo = value
End Set
End Property
Private _UserInfo As UserInfo
Public Property Relationship As String
Get
Return m_Relationship
End Get
Set(value As String)
m_Relationship = value
End Set
End Property
Private m_Relationship As String
End Class
的WebMethod
<HttpPost>
<ValidateAntiForgeryToken>
<DnnModuleAuthorize(AccessLevel:=SecurityAccessLevel.View)>
Public Function AddUserDependant(<FromBody> oNewUser As NewUser) As HttpResponseMessage
Try
If Me.UserInfo.IsInRole("Carer") Then
UsersControllerOmni.CreateDnnUser(oNewUser.UserInfo)
Return Request.CreateResponse(HttpStatusCode.OK)
Else
Return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "")
End If
Catch ex As Exception
Return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex)
End Try
End Function
AJAX
$.ajax({
type: "POST",
cache: false,
url: serviceUrl + "/ModuleTask/AddUserDependant",
beforeSend: sf.setModuleHeaders,
contentType: "application/json; charset=utf-8",
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
data: $("form").serialize()
}).done(function (result) {
}).fail(function (xhr, result, status) {
alert(result);
});
你的方法是什麼我做在一個點上。但是,我最後修改了諸如:name =「UserInfo [Profile] [Cell]」等字段。另外,我在每個字段class =「myform」上添加了一個獨特的類,並且序列化如下形式:var frm = $('form .myform')。serialize();我的ajax:data:frm – alwaysVBNET