这是我的 WebAPI POST 方法,它需要 BookingDetail
和 BookingVenue
对象:
[HttpPost]
[ValidateUserSession]
public JsonResult CheckBooking(BookingDetail BookingDetail, BookingVenue objBV)
{
try
{
if (BookingDetail != null && objBV != null)
{
bool result = Ibook.checkBookingAvailability(BookingDetail, objBV);
if (result == false)
{
return Json("NotAvailable");
}
else
{
return Json("Available");
}
}
else
{
return Json("Available");
}
}
}
从 UI 获取值并发布传递这两个对象的 Angular 代码:
this.checkbookingavailability = function (Book) {
var BookingVenueObj = {
EventTypeID: Book.EventSelected,
VenueID: Book.Venueselected,
GuestCount: Book.NoofGuest,
};
var BookingDetailObj = {
BookingDate: Book.BookingDate
};
var response =
$http({
method: "POST",
url: "/Booking/CheckBooking/",
headers: {
'RequestVerificationToken': $cookies.get('EventChannel')
},
data: { BookingDetail: BookingDetailObj, BookingVenue: BookingVenueObj }
});
return response;
}
问题出在我的 WebAPI 代码中,两个对象都为 null
最佳答案
您只能在正文中传递一个对象,因此我建议您为包含 BookingDetail
的对象创建一个新的 DTO“BookingDto”和 BookingVenue
作为成员,并将您的 WebAPI 签名更改为:
[HttpPost]
[ValidateUserSession]
public JsonResult CheckBooking([FromBody]BookingDto bookingObj)
关于asp.net - 如何将两个对象传递给Web api?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38940746/