我的主视图有两个局部视图,其中模态一个作为主地址,另一个作为传递地址。我在主要地址下面有一个复选框(这也是我的送货地址),检查送货地址应该从数据库中删除,也不应该在视图中显示。
目前我面临的问题是,如果用户在用户之前已经拥有送达地址时点击复选框,则会从数据库中删除送达地址以及隐藏送达部分视图。我正在使用jquery来触发从数据库中删除的操作并隐藏传递部分视图。以下是相同的代码:
$('input[type="checkbox"]').on('change', function (e) {
if (e.target.checked) {
// call this if checkbox is checked
$(document).ready(function () {
$('#modal-delivery').modal('show');
});
}
else
{
// call this if checkbox is unchecked
$.post('@Url.Action("DeliveryAddressUpdate", "Address")',
{ data: address, isDeliveryAddressDeleted: true
});
$(document).ready(function () {
//clear the modal here before showing the view
$('#delivery-address').show().find('.btn-edit').click();
//$('button[type="button"]').click();
});
}
});
我在控制器中有一个动作,它将由上面的jquery触发,类似于:
[HttpPost]
public ActionResult DeliveryAddressUpdate(AddressModel data, bool isDeliveryAddressDeleted)
{
UpdateDeliveryAddress(data, isDeliveryAddressDeleted);
}
现在,当我取消选中该复选框时,它将再次触发相同的jquery并运行其中的else部分。在显示递送地址时,由于某种原因,它仍将保留先前的递送地址值。当我刷新页面时,它显示空白的交付字段。关于这个原因的任何想法。
我试过ModelState.Clear()
,但它对我不起作用。
任何帮助将不胜感激。