我想將一個JavaScript創建的對象發送到一個ASP.NET PageMethod。此對象鏡像現有自定義業務對象的屬性,所以我希望我可以傳遞一個對象而不是每個屬性的參數。嘗試使用這種方法的時候,我得到一個錯誤「未知的Web方法SavePart發送一個複雜的對象作爲參數到Asp.Net PageMethod
的Javascript:
function() {
var pt = { Id: 1, Onhand: 20, LowPoint: 30, __type: 'Custom.Objects.Part'};
$.ajax({
type: 'POST',
url: 'partlist.aspx/SavePart',
data: JSON.stringify(pt),
contentType: 'application/json; charset: utf-8;'
dataType: 'json',
success: function(results) { alert('Success!'); }
});
}
代碼背後:
<WebMethod()> _
Public Shared Function SavePart(pt as Custom.Objects.Part) as Boolean
Dim repo as new PartRepository()
return repo.Save(pt)
End Function
我使用另一個PageMethod的剛剛接受一個int ,並且這個工作正常。
啊......這實際上是有道理的。只是發送pt可能會導致解串器嘗試將對象的每個屬性作爲單獨的參數傳遞給webmethod。 –