AJUDA COM EXCLUSÃO DE REGISTRO COM JQUERY NO MVC

KERPLUNK 14/10/2015 21:35:57
#452560
Aha! Você sacou onde está o problema! Confira bem as decorações do método(data annotations).
KELLY 14/10/2015 21:40:51
#452562
No script está chamando o método Deletar do controlador Regiao:

$([Ô]#modal[Ô]).load([Ô]/Regiao/Deletar/[Ô] + codigo)

No Controlador eu tenho o método Deletar que antes se chamava DeletarRegiao, mas eu renomeei para Deletar usando o ActionName porque não posso ter dois métodos com a mesma assinatura e o mesmo nome, acho que está certo:

[HttpPost, ActionName([Ô]Deletar[Ô])]
[ValidateAntiForgeryToken]
public ActionResult DeletarRegiao(long id)
KERPLUNK 14/10/2015 22:26:48
#452563
Coloque um breakpoint no método e veja se ele está sendo chamado.
KELLY 15/10/2015 16:46:38
#452600
Kerplunk, descobri o problema, só não sei como resolver.

Na linha $.post([Ô]/Regiao/Deletar/[Ô], $([Ô]#formDelete[Ô]).serialize()) preciso passar apenas o valor para a URL /Regiao/Deletar/5, ou seja, apenas o 5 neste exemplo, no meu código está passando RegiaoID=5 por causa do serializable. Tentei criar a variável que contém o ID da região para ser acessível em todo o escopo da função script, mas não funcionou. Coloquei o código e um coméntário para ver se você pode me ajudar.

  $(document).ready(function () {

var codigo =0;

$([Ô].excluir[Ô]).click(function () {
codigo = $(this).attr([Ô]datacodigo[Ô]);
$([Ô]#modal[Ô]).load([Ô]/Regiao/Deletar/[Ô] + codigo)
.attr([Ô]title[Ô], [Ô]Excluir Região[Ô]).dialog();
});

$([Ô]#btnDelete[Ô]).click(function () {

alert(codigo);

//$.post([Ô]/Regiao/Deletar/[Ô], $([Ô]#formDelete[Ô]).serialize())
$.post([Ô]/Regiao/Deletar/[Ô], codigo) // Aqui, a variável código sempre fica com o valor padrão independente da região selecionada.
.done(function () {
//$([Ô]#divRegioes[Ô]).load([Ô]/Regiao/Index[Ô]);
});

$([Ô]#modal[Ô]).dialog([Ô]close[Ô]);
});

$([Ô]#btnClose[Ô]).click(function () {
$([Ô]#modal[Ô]).dialog([Ô]close[Ô]);
});
})


KERPLUNK 15/10/2015 16:58:20
#452601
Lembra que eu perguntei porque estava serializando? Pois é, eu já tinha visto isso. Se reparar nos outros actionlinks que você colocou, você já vai ter a resposta de como colocar somente o id da região.

Não sei se notou, mas não estou dando respostas prontas pra você, estou ajudando para fazer com que você mesma veja o que está acontecendo. Acho que assim vai ser muito mais útil para você no futuro... Eu poderia simplesmente dizer exatamente o que está errado, mas quero que você mesma veja isso.
KELLY 15/10/2015 18:16:50
#452603
Deu certo agora, só não foi da forma como você estava querendo me ensinar. Tem como você me explicar a outra forma?


$(document).ready(function () {

$([Ô].excluir[Ô]).click(function () {
var codigo = $(this).attr([Ô]datacodigo[Ô]);
$([Ô]#modal[Ô]).load([Ô]/Regiao/Deletar/[Ô] + codigo)
.attr([Ô]title[Ô], [Ô]Excluir Região[Ô]).dialog();
});

$([Ô]#btnDelete[Ô]).click(function () {

var codigo = $([Ô]#RegiaoID[Ô]).attr([Ô]value[Ô]);

//$.post([Ô]/Regiao/Deletar/[Ô], $([Ô]#formDelete[Ô]).serialize())
$.post([Ô]/Regiao/Deletar[Ô], codigo)
.done(function () {
//$([Ô]#divRegioes[Ô]).load([Ô]/Regiao/Index[Ô]);
});

$([Ô]#modal[Ô]).dialog([Ô]close[Ô]);
});

$([Ô]#btnClose[Ô]).click(function () {
$([Ô]#modal[Ô]).dialog([Ô]close[Ô]);
});
})



Página 2 de 2 [16 registro(s)]
Tópico encerrado , respostas não são mais permitidas