Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ds.suporting

[Resolvido] ColorPicker, não consigo pegar o valor da cor no text

Recommended Posts

Olá Pessoal

Em um projeto de um cliente precisei usar o colorpicker do ajaxtoolkit para fazer umas personalizações no layout.

O problema é o seguinte se o textbox que uso pra armazenar o valor hexadecimal da cor estiver vazio, funciona, eu consigo capturar o valor da cor que escolhi, mas se o textbox já tiver algum valor toda vez que escolho uma cor no colorpicker ele até muda no textbox mas me retorna o valor antigo.

Pra entender melhor eu fiz um outro projeto com essa situação:

http://extranet.connexion.com.br/diego/default.aspx

 

Não sei o porque isso acontece, realmente não consigo entender. Preciso da ajuda de você's.

Abaixo está o codigo da página do link acima:

default.aspx

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="asp" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>
    <script>
    function colorChanged(sender) {
  sender.get_element().style.color = 
       "#" + sender.get_selectedColor();
}
    </script>
</head>

<body>
    <form id="form1" runat="server">
    <p>
        <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
        </asp:ToolkitScriptManager>
        Teste 1
        <br />
        <asp:ColorPickerExtender ID="ColorPickerExtender1" runat="server"  TargetControlID="TextBox1"  OnClientColorSelectionChanged="colorChanged" PopupPosition="Right"></asp:ColorPickerExtender>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:Button ID="Button1" runat="server" Text="Exibir" onclick="Button1_Click" />
    </p>
    <p>
         </p>
    <p>
        Teste 2<br />
        <asp:ColorPickerExtender ID="ColorPickerExtender2" runat="server"  TargetControlID="TextBox2"  OnClientColorSelectionChanged="colorChanged" PopupPosition="Right"></asp:ColorPickerExtender>
        <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
        <asp:Button ID="Button2" runat="server" Text="Exibir" onclick="Button2_Click" />
    </p>
    <div>
    
    </div>
    </form>
</body>
</html>

default.aspx.cs

using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
        TextBox2.Text = "cc00cc";
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        Response.Write(@"<script>alert('Cor selecionada " + TextBox1.Text + "');location.href='default.aspx'</script>");
    }
    protected void Button2_Click(object sender, EventArgs e)
    {
        Response.Write(@"<script>alert('Cor selecionada " + TextBox2.Text + "');location.href='default.aspx'</script>");
    }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema ocorre pq no load você sempre seta o valor:

 

TextBox2.Text = "cc00cc";

Tenta fazer assim

if(!IsPostBack) TextBox2.Text = "cc00cc";

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema ocorre pq no load você sempre seta o valor:

 

TextBox2.Text = "cc00cc";

Tenta fazer assim

if(!IsPostBack) TextBox2.Text = "cc00cc";

 

Não funciona!!!

Já tinha testado assim tbm e mesmo assim não funciona continua retornando o valor antigo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá

Despois de umas tentativas eu consegui fazer funcionar, não entrendi bem mas eu mudei novamente o if(Page.IsPostback) no load da página e nos primeiros teste não funcionava depois eu fiz um rebildwebsite e funcionou!

Valeu pela ajuda!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.