Usuário com melhor resposta
Scripts aspnet

Pergunta
-
Boa tarde ,
A minha questão é a seguinte:
Tenho um metodo em c# no aspx.cs que no caso de já existir o nome da pesquisa na tabela vai avisar o utilizador de que a pesquisa já existe e se quer substituir.
O problema é que antes de o utilizador dizer se quer substituir o resto do metodo já chegou ao fim e substitui sempre independentemente de o utilizador dizer que não.
Segue o Javascript:
function alertapesquisaexistente() { if (confirm("O nome da pesquisa já existe! Deseja substituir a pesquisa?")) { return true; } else { return false; } }
Código c# do ficheiros aspx.cs
else { //Verifica qual a opção selecionada pelo utilzador. //se o utilizador cancelar deve voltar ao incio da função. ClientScript.RegisterStartupScript(this.GetType(), "valida", "alertapesquisaexistente();", true); //Update da ordenação presente na pesquisa ligar.Query = "update gc_tabela_gpesquisas set ordenacao='" + somavalorordenacao + "', dtupdate='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.FFF") + "' where Id=(select id from gc_tabela_gpesquisas where nomepesquisa='" + nome.Text.Trim() + "')"; ligar.Write(); //Apaga as linhas com o id do nome alterado ligar.Query = "delete from gc_tabela_gpesquisasdet where idcabgpesquisa=(select id from gc_tabela_gpesquisas where nomepesquisa='" + nome.Text.Trim() + "')"; ligar.Write(); //Adiciona novas linhas foreach (DataRow linha in linhas.Rows) { ligar.Query = "insert into gc_tabela_gpesquisasdet (iditem,idcabgpesquisa) values('" + linha.ItemArray[0].ToString() + "',(select id from gc_tabela_gpesquisas where nomepesquisa='" + nome.Text.Trim() + "'))"; ligar.Write(); } }
Alguém me pode ajudar?
Élio
Respostas
-
Dentro da mesma página!!!!!!!!!!!
Você vai mandar exibir onde precisa, logo dentro do else!
Paulo César Viana
MCC,MCP,MCTS
--
Marque as respostas e contribua para uma melhora no fórum.- Marcado como Resposta Harley Araujo quinta-feira, 19 de julho de 2012 13:41
-
Ok
Então vou criar dentro da mesma página.
E experimentar.
Se tiver alguma dúvida voltarei a chatear:)
Obrigado, Élio Godinho
- Marcado como Resposta Harley Araujo quinta-feira, 19 de julho de 2012 13:41
Todas as Respostas
-
-
-
-
Sim fica.
Vou colocar o metodo completo para que possas ver.
protected void Button1_Click(object sender, EventArgs e) { ficheiro.Value=Request.QueryString["ficheiro"]; var tipopesquisa = passatipo(Request.QueryString["ficheiro"]); //ir buscar campos de ordenação string valorordenacao = ""; //somar os campos de todas as linhas para ordenacao string somavalorordenacao = ""; try { SQL ligar = new SQL(WebConfigurationManager.ConnectionStrings["sqlserver"].ConnectionString); ligar.Query = "select p.ordenapesq from gc_tabcampos_ordenaitem p join gc_tabelacampossel s on p.id=s.idcampo where iduser='" + Session["userid"].ToString() + "' and tipo='"+tipopesquisa+"' order by s.id"; DataTable ORDENA = ligar.Read(); foreach (DataRow valorordena in ORDENA.Rows) { valorordenacao = valorordena.ItemArray[0].ToString(); if (somavalorordenacao != string.Empty) { somavalorordenacao = somavalorordenacao + "+"; } somavalorordenacao = somavalorordenacao + valorordenacao; } //Verifica se existe algum item selecionado ligar.Query = "select IDITEM from " + ficheiro.Value + "_" + Session["userid"].ToString() + " where checkado=1"; DataTable linhas = ligar.Read(); if (linhas.Rows.Count > 0) { ligar.Query = "select nomepesquisa from gc_tabela_gpesquisas where nomepesquisa='" + nome.Text.Trim() + "'"; DataTable dados = ligar.Read(); //Verifica se já existe alguma pesquisa com o nome que esta na textbox //Se o numero de linhas devolvidas pela query for igual a 0 cria a nova tabela senão apaga as linhas e faz update. if (dados.Rows.Count == 0) { //Insere nova linha com o nome da pesquisa ligar.Query = "insert into gc_tabela_gpesquisas (nomepesquisa,ordenacao,dtcriacao,dtupdate,iduser) values('" + nome.Text.Trim() + "','" + somavalorordenacao + "','" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.FFF") + "','" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.FFF") + "','" + Session["userid"].ToString() + "')"; ligar.Write(); //Adiciona novas linhas com o id da linha do nome da pesquisa foreach (DataRow linha in linhas.Rows) { ligar.Query = "insert into gc_tabela_gpesquisasdet (iditem,idcabgpesquisa) values('" + linha.ItemArray[0].ToString() + "',(select id from gc_tabela_gpesquisas where nomepesquisa='" + nome.Text.Trim() + "'))"; ligar.Write(); } } else { //Verifica qual a opção selecionada pelo utilzador. //se o utilizador cancelar deve voltar ao incio da função. ClientScript.RegisterStartupScript(this.GetType(), "valida", "return alertapesquisaexistente();", true); //Update da ordenação presente na pesquisa ligar.Query = "update gc_tabela_gpesquisas set ordenacao='" + somavalorordenacao + "', dtupdate='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.FFF") + "' where Id=(select id from gc_tabela_gpesquisas where nomepesquisa='" + nome.Text.Trim() + "')"; ligar.Write(); //Apaga as linhas com o id do nome alterado ligar.Query = "delete from gc_tabela_gpesquisasdet where idcabgpesquisa=(select id from gc_tabela_gpesquisas where nomepesquisa='" + nome.Text.Trim() + "')"; ligar.Write(); //Adiciona novas linhas foreach (DataRow linha in linhas.Rows) { ligar.Query = "insert into gc_tabela_gpesquisasdet (iditem,idcabgpesquisa) values('" + linha.ItemArray[0].ToString() + "',(select id from gc_tabela_gpesquisas where nomepesquisa='" + nome.Text.Trim() + "'))"; ligar.Write(); } } } else { //Se o numero de linhas for igual a zero avisa o utilizador e retorna ao inicio da função ClientScript.RegisterStartupScript(this.GetType(), "verificar linhas", "alert('Tem que selecionar pelo menos uma linha!');", true); return; } nome.Text = ""; ligar.closeConnection(); ClientScript.RegisterStartupScript(this.GetType(), "confirmar", "alert('Pesquisa criada com sucesso!');", true); } catch(Exception erro) { Response.Write(erro); //ClientScript.RegisterStartupScript(this.GetType(), "erro", "alert('Erro a criar pesquisa!');", true); //return; } }
Obrigado, Élio Godinho
-
-
-
No seu caso é mais complicado por que você quer mostrar o confirm depois depois do PostBack. Por isto acho melhor usar um modal.
http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/ModalPopup/ModalPopup.aspx
Paulo César Viana
MCC,MCP,MCTS
--
Marque as respostas e contribua para uma melhora no fórum. -
-
-
-
Dentro da mesma página!!!!!!!!!!!
Você vai mandar exibir onde precisa, logo dentro do else!
Paulo César Viana
MCC,MCP,MCTS
--
Marque as respostas e contribua para uma melhora no fórum.- Marcado como Resposta Harley Araujo quinta-feira, 19 de julho de 2012 13:41
-
Ok
Então vou criar dentro da mesma página.
E experimentar.
Se tiver alguma dúvida voltarei a chatear:)
Obrigado, Élio Godinho
- Marcado como Resposta Harley Araujo quinta-feira, 19 de julho de 2012 13:41