2012-02-29 3 views
0

J'ai une vue avec nom, date de création, adresse, etc. Dans la section Adresse, j'ai l'état, la ville, etc. J'ai fait de cette section une vue partielle.Suppression d'une vue partielle dans MVC

Par défaut, il y aura une section d'adresse dans mainView. J'ai un bouton "AddAddress". Je veux ajouter une autre section d'adresse si l'utilisateur clique sur le bouton (ajouter une vue partielle). Après avoir obtenu cette vue partielle, il devrait y avoir un bouton Supprimer pour supprimer cette vue partielle. Je n'utilise pas Razor.

le code suivant est mon Javascript pour supprimer mon adresse.

 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) { 
       } 
      } 
     } 

le code suivant est dans mon contrôleur.

[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); 
    } 

Répondre

0

Dans le modèle que nous pouvons avoir une propriété comme IsAddAddressEnabled, Onclick sur AddAddress vous pouvez définir cela comme vrai et onclick sur annuler, vous pouvez définir comme faux.

Dans la vue, vous pouvez mettre une condition,

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

je veux le faire en utilisant ajax/javascript.page shud pas postback – Santosh

+0

OK, vous pouvez effectuer l'opération similaire, mais simplement obtenir le point de vue que JsonResult et mise à jour la vue avec le contenu – Manas