Удаление частичного просмотра в MVC

115
14

У меня есть View with Name, CreatedDate, Address и т.д. В разделе "Адрес" у меня есть состояние, город и т.д. Я сделал этот раздел Partial View.

По умолчанию в mainView будет один раздел адреса. У меня есть кнопка "AddAddress". Я хочу добавить другой адрес, если пользователь нажмет кнопку (добавьте частичный вид). После получения этого частичного представления должна быть кнопка удаления, чтобы удалить это частичное представление. Я не использую Razor.

следующий код - это мой Javascript для удаления моего адреса.

        function deleteAddress(addressId, clientId) {
var url1 = "/Client/DeleteAddress";
if (confirm("Are you sure you want to delete this address?")) {
var result = false;
$.ajax({
url: url1,
type: 'POST',
async: false,
data: { AddressId: addressId, ClientId: clientId },
dataType: 'json',
success: function (data) {
result = data;
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("XMLHttpRequest=" + XMLHttpRequest.responseText + "\ntextStatus=" + textStatus + "\nerrorThrown=" + errorThrown);
}
});
if (result) {
}
}
}

следующий код находится в моем контроллере.

 [HttpPost]
public JsonResult DeleteAddress(int AddressId, int ClientId)
{
if (AddressId != 0)
{
if (ClientId != 0)
{
ClientService.Client clientVuTemp = new ClientService.Client();
clientVuTemp = (ClientService.ClientView)TempData["EditClientData"];

clientVuTemp.Address.RemoveAt(AddressId);
//soft delete
clientVuTemp.Address[AddressId].IsActive = false;
_clientSvc.InserOrUpdateClientAddresses(clientVuTemp.Address);
}
else
{

}
return Json(true);
}
else
return Json(false);
}

спросил(а) 2021-01-19T14:28:05+03:00 2 месяца, 4 недели назад
1
Решение
76

В модели мы можем иметь свойство, например IsAddAddressEnabled, Onclick on AddAddress, вы можете установить это как true и onclick on cancel, вы можете установить значение false.

В режиме просмотра вы можете установить условие,

@if(Model.IsAddAddressEnabled)
{
Html.Partail(....)
}

ответил(а) 2021-01-19T14:28:05+03:00 2 месяца, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема