提交表单返回对象的初始化而不是空mvc c#
本文关键字:mvc 初始化 表单 返回 对象 提交 | 更新日期: 2023-09-27 18:16:26
[HttpPost]
public async Task<ActionResult> Create(BookingViewModel bookingview, BookingDetailsViewModel bookingdetails)
我遇到了一个问题,当我提交表单时,如果我没有显示与它相关的PartialView
,我期望bookingdetails
为null
@if (Model.StepNumber == (int)Booking_Steps.BookingDetails)
{
@Html.Partial("_Booking_Details", Model.BookingDetails)
}
而是初始化对象。如何使它返回null?因为这会使ModelState
无效
我相信模型绑定器初始化对象是为了检查它们的ModelState,尽管我可能弄错了。
你可以做的一个快速修复是在if块中添加一个隐藏字段,并在你的操作中检查它。
@if (Model.StepNumber == (int)Booking_Steps.BookingDetails)
{
<input type="hidden" name="partialRenderedFlag" value="true" />
@Html.Partial("_Booking_Details", Model.BookingDetails)
}
控制器动作:public async Task<ActionResult> Create(BookingViewModel bookingview, BookingDetailsViewModel bookingdetails, bool partialRenderedFlag = false)
{
if (partialRenderedFlag)
// you know you rendered partial
}