Problema com a janela modal
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?
O que pode está acontecendo?
Lorena Menelli
Curtidas 0
Respostas
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
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.
è 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
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
26/03/2009
ok. posso enviar os meu arquivos tmb
GOSTEI 0
Luiz Maia
26/03/2009
Por favor Lorena, seria bom para que eu possa dar uma olhada.
Att
Luiz Maia
GOSTEI 0
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
26/03/2009
Lorena você ainda tem dúvida sobre este tópico?
Fabio
GOSTEI 0
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
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>
<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
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
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
26/03/2009
OK... Obrigada..vou precisar sim.. t+
GOSTEI 0