Problema com a janela modal

26/03/2009

Olá Fábio Quando clico em Edit a janela modal aparece e quando eu a atualizo some normalmente, mais não consigo arrastá-la. Outra coisa é que com a janela modal não funciona a validação.

O que pode está acontecendo?
Lorena Menelli

Lorena Menelli

Curtidas 0

Respostas

Luiz Maia

Luiz Maia

26/03/2009

Lorena, preciso de mais detalhes por favor. Que tipo de aplicação é? Quais recursos esta usando e etc... Grato   Att Luiz Maia
GOSTEI 0
Lorena Menelli

Lorena Menelli

26/03/2009

Olá Luiz.
è a loja  do curso desenvolvendo uma loja virtual completa. Já concuí o video VIII, mais a janela modal java script não funciona direito. Já testei no Firefox e no IE e nada. Tmb já conferi todo o código e aparentemente está igual o do video VIII. Vc pode baixar esse video e conferi.

Vou aproveita esse post e dizer que o css da pagian default.aspx que faz parate da masterpage do administrador não fica certinha no Firefox só no Explorer. Parece que o div não funciona direito, s efor o caso posto isso em outro post.


GOSTEI 0
Luiz Maia

Luiz Maia

26/03/2009

Lorena,   Vou analisar o video e te informo. Quanto ao CSS, por favor abra outro chamadao.   Att Luiz Maia
GOSTEI 0
Lorena Menelli

Lorena Menelli

26/03/2009

ok. posso enviar os meu arquivos tmb
GOSTEI 0
Luiz Maia

Luiz Maia

26/03/2009

Por favor Lorena, seria bom para que eu possa dar uma olhada. Att Luiz Maia
GOSTEI 0
Lorena Menelli

Lorena Menelli

26/03/2009


...

essa é a pagina Categories/defaut.aspx

<custom:WebWindow ID="winEdit" Hide="false" WindowTitleText="Editar Categoria"
                runat ="server" style="top: 447px; left: 23px">
         
          <asp:FormView ID="frmEdit" runat="server" DataSourceID="dsCategoryUpdate"
                DefaultMode="Edit" onitemupdating="frmEdit_ItemUpdating"
                onpageindexchanging="frmEdit_PageIndexChanging1"
                onitemcommand="frmEdit_ItemCommand">
                <EditItemTemplate>
                    Title:
                    <asp:TextBox ID="txtTitle" runat="server" Text='<%# Bind("Title") %>'
                        ValidationGroup="Edit" />
                    <br />
                    <asp:RequiredFieldValidator ID="reqTitle" runat="server"
                        ControlToValidate="txtTitle" ValidationGroup="Edit">(Campo obrigatório)</asp:RequiredFieldValidator>
                    <br />
                    <asp:Button ID="UpdateButton" runat="server" CausesValidation="True"
                        CommandName="Update" Text="Update" ValidationGroup="Edit" />
                    <asp:Button ID="UpdateCancelButton" runat="server" CausesValidation="False"
                        CommandName="Cancel" Text="Cancel" ValidationGroup="Edit" />
                </EditItemTemplate>
            </asp:FormView>
        
        
         
          </custom:WebWindow>


aqui está meu o controle do web.config

    <controls>
                <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add tagPrefix="custom" namespace="DevMedia"/>
            </controls>

e por ultimo a classe DevMedia

App_Code/Controls;WebWindows.cs


using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;

namespace DevMedia
{
    /// <summary>
    /// Renders a virtual window that can be dragged
    /// </summary>
    [ParseChildren(false)]
    public class WebWindow : WebControl, IPostBackEventHandler
    {
        private string _windowTitleText = "Untitled";
        private bool _showCloseButton;

        public event EventHandler Closed;

        /// <summary>
        /// The text that appears in the WebWindow
        /// title bar
        /// </summary>
        public string WindowTitleText
        {
            get
            {
                return _windowTitleText;
            }
            set
            {
                _windowTitleText = value;
            }
        }

        /// <summary>
        /// Sets CSS display=none
        /// </summary>
        public bool Hide
        {
            get
            {
                if (ViewState["Hide"] == null)
                    return true;
                else
                    return (bool)ViewState["Hide"];
            }
            set
            {
                ViewState["Hide"] = value;
            }
        }

        /// <summary>
        /// Displays close button
        /// </summary>
        public bool ShowCloseButton
        {
            get { return _showCloseButton; }
            set { _showCloseButton = value; }
        }

        /// <summary>
        /// Wire-up the JavaScripts
        /// </summary>
        protected override void OnPreRender(EventArgs e)
        {
            if (!Page.ClientScript.IsClientScriptIncludeRegistered("WebWindow"))
                Page.ClientScript.RegisterClientScriptInclude("WebWindow", Page.ResolveClientUrl("~/ClientScripts/WebWindow.js"));

            String startupScript = String.Format("WebWindow.init('');", this.ClientID);
            Page.ClientScript.RegisterStartupScript(this.GetType(), this.ClientID, startupScript, true);
        }

        /// <summary>
        /// Render the body of the WebWindow
        /// </summary>
        protected override void RenderContents(HtmlTextWriter writer)
        {
            RenderTitleBar(writer);
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "webWindowBody");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            this.RenderChildren(writer);
            writer.RenderEndTag();
        }

        /// <summary>
        /// Render the WebWindow title bar
        /// </summary>
        private void RenderTitleBar(HtmlTextWriter writer)
        {
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "webWindowTitleBar");
            writer.AddAttribute("onmousedown", "WebWindow.mouseDown(event)");
            writer.AddStyleAttribute(HtmlTextWriterStyle.TextAlign, "right");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "webWindowTitleText");
            writer.RenderBeginTag(HtmlTextWriterTag.Span);
            writer.Write(_windowTitleText);
            writer.RenderEndTag();

            RenderCloseButton(writer);

            writer.RenderEndTag();
        }

        /// <summary>
        /// Render the WebWindow Close button
        /// </summary>
        private void RenderCloseButton(HtmlTextWriter writer)
        {
            if (_showCloseButton)
            {
                String eventRef = Page.ClientScript.GetPostBackEventReference(this, String.Empty);
                writer.AddAttribute(HtmlTextWriterAttribute.Onclick, eventRef);
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "webWindowClose");
                writer.RenderBeginTag(HtmlTextWriterTag.Span);
                writer.Write("X");
                writer.RenderEndTag();
            }
            else
            {
                writer.WriteBreak();
            }
        }

        /// <summary>
        /// Add required style attributes
        /// </summary>
        protected override void AddAttributesToRender(HtmlTextWriter writer)
        {
            if (Hide)
                writer.AddStyleAttribute(HtmlTextWriterStyle.Display, "none");
            writer.AddStyleAttribute(HtmlTextWriterStyle.Position, "absolute");
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "webWindow");
            base.AddAttributesToRender(writer);
        }

        /// <summary>
        /// Render the WebWindow as a DIV tag
        /// </summary>
        protected override HtmlTextWriterTag TagKey
        {
            get
            {
                return HtmlTextWriterTag.Div;
            }
        }

        /// <summary>
        /// Raise Close event when the Close button
        /// is clicked
        /// </summary>
        public void RaisePostBackEvent(string eventArgument)
        {
            if (Closed != null)
                Closed(this, EventArgs.Empty);
        }
    }
}




GOSTEI 0
Fabio Mans

Fabio Mans

26/03/2009

Lorena você ainda tem dúvida sobre este tópico?   Fabio
GOSTEI 0
Lorena Menelli

Lorena Menelli

26/03/2009

Sim, a janela que abre ao cliclar em editar não funciona corretanebte,  a janela abre mais não da para arrastar clicando com o mouse.
GOSTEI 0
Fabio Mans

Fabio Mans

26/03/2009

Lorena posso dar uma dica, quando eu criei este curso não existia os controles do Ajax Control ToolKit, eu particularmente não utilizo mais a janela modal, atualmente eu utilizo o ModalPopupExtender, veja um exemplo abaixo, e no link abaixo ele rodando.   Você quer trocar ou deseja utilizar o controle do curso?   Fabio       http://www.asp.net/AJAX/AjaxControlToolkit/Samples/ModalPopup/ModalPopup.aspx     <body>
    <form id="form1" runat="server">
        <aspcriptManager ID="ScriptManager1" runat="server" />
        <div></div>
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label><br />
            <br />
            <asp:LinkButton ID="LinkButton1" runat="server">Abrir</asp:LinkButton>
            <p id="Paragraph1">Texto a ser mudado</p>
            <aspanel ID="Panel1" runat="server" CssClass="modalPopup" Style="display: none" width="233px">
                <p> Escolha o estilo que gostaria de usar</p>
                <input id="RadioA" name="Radio" onclick="styleToSelect = 'sampleStyleA';" type="radio" />
                <label class="SampleStyleA" for="RadioA">Escolha este estilo</label><br />
                <input id="RadioB" name="Radio" onclick="styleToSelect = 'sampleStyleB';" type="radio" />
                <label class="SampleStyleB" for="RadioB">Escolha este estilo</label><br />
                <input id="RadioC" name="Radio" onclick="styleToSelect = 'sampleStyleC';" type="radio" />
                <label class="SampleStyleC" for="RadioC">Escolha este estilo</label><br />
                <input id="RadioD" name="Radio" onclick="styleToSelect = 'sampleStyleD';" type="radio" />
                <label class="SampleStyleD" for="RadioD">Escolha este estilo</label><br />
                <br />
                <div align="center">
                <asp:Button ID="OkButton" runat="server" Text="OK" OnClick="OkButton_Click" />
                <asp:Button ID="CancelButton" runat="server" Text="Cancel" />
                </div>
            </aspanel>         <cc1:ModalPopupExtender ID="ModalPopupExtender1" runat="server"
        TargetControlID="LinkButton1"
        PopupControlID="Panel1"
        BackgroundCssClass="modalBackground"
        DropShadow="true"
        OkControlID="OkButton"
        CancelControlID="CancelButton"
        OnOkScript="onOK()">
       
        </cc1:ModalPopupExtender>
           
    </form>
</body>
GOSTEI 0
Lorena Menelli

Lorena Menelli

26/03/2009

Fábio desculpe a demora para responder. Tive um problema com a Internet da empresa e tivemos que trocar todas a esturutura para rede sem fio.   A respeito da Store, depois que postei o ultimo post fiz algumas mudanças que resultou em um problema, que não sei explicar pq não aparece erro nem um, simplemente o conteudo não é atualizado. Eu abri o banco para vê e vi que o conteúdo não está atualizando ao banco.   Concluindo, resolvi fazer tudo de novo, mas agora com mais capricho, usando template do site que vc me passou(adoreiiiiiiiiiii). Vou usar o controle que vc falou, essa loja é para um cliente( meu primeiro,haahah), então tenho que caprichar né? Conto com sua ajuda para fazer uma loja lindaaaaaaaa, igual a do curso.   Se quiser postar alguma dica para a loja, além dessa aí, antes de vc fechar o post. Alguma coisa que preciso saber ou perguntar para o cliente para que o site fique melhor. Não vou usar validação de cartão, ele é um cara que faz pranchas de surf e quer vender pela internet, mais não tem empresa. Ele naum usa cartão! Pensei em contratar o serviço pagueSeguro da UOL, o que vc acha? é mais simples?   Abraçu   T+  
GOSTEI 0
Fabio Mans

Fabio Mans

26/03/2009

Olá Lorena, é a primeira coisa que pensei se um cliente pedir para fazer uma loja e ele não for utilizar cartão é o PagSeguro da UOL, vai ficar ótimo, tenho um amigo que já fez, caso precise de alguma ajuda para implementar PagSeguro com .NET é só perguntar.   Obrigado.   Fabio
GOSTEI 0
Lorena Menelli

Lorena Menelli

26/03/2009

OK... Obrigada..vou precisar sim.. t+
GOSTEI 0
POSTAR