我有一個我創建的dnn模塊,使用WebAPI從服務器檢索數據沒有問題。但是,當我嘗試執行更新時,無論我嘗試什麼,我都會繼續收到錯誤。在Firebug看,我可以張貼的數據:如何執行DotNetNuke WebAPI更新/刪除?
(http://www.virtual-essentials.com/personal/firebug1.png)
但是,當我調試,我看到的只是默認(null.setnull)值(布爾=假,INT = 0,串=空)。
然後,當然的反應是這沒有什麼好和結果: (http://www.virtual-essentials.com/personal/firebug2.png)
我試過的事情,我能想到的每一種組合,但不能得到這個想通了,我快瘋了。
這裏是AJAX調用: // //Ü操作 - 更新 self.updateTestimonial =函數(objItem){ VAR方法= 「UpdateTestimonial」; self.UpdatePublishStatus(objItem);
$.ajax({
type: "POST",
contentType: "application/json",
url: sf.getServiceRoot('VirtualEssentials/Testimonials') + "TestimonialWeb/" + method,
beforeSend: sf.setModuleHeaders,
data: ko.toJSON({ item: new TestimonialInfoDTO(objItem.TestimonialID(), objItem.IsPublished())}),
success: function (data) {
self.userAlertText(objItem.Testimonial() + ' changes have been saved');
//self.getTestimonials(); //get the new data after updates
},
error: function (xhr, status, error) {
self.userAlertText('OOPS! Error updating ' + objItem.Testimonial + '<br />' + (error));
//put the status back
self.UpdatePublishStatus(objItem);
}
});
};
這裏是的WebAPI控制器電話:
[HttpPost]
[DnnModuleAuthorize(AccessLevel = SecurityAccessLevel.Edit)]
public System.Net.Http.HttpResponseMessage UpdateTestimonial(TestimonialInfoDTO item)
{
try
{
Controller.TestimonialController objController = new Controller.TestimonialController();
objController.PublishTestimonial(item.TestimonialID, item.IsPublished);
}
catch (HttpResponseException ex)
{
return ex.Response;
}
}
任何幫助是真誠的感謝!