paulojr 0 Denunciar post Postado Novembro 29, 2007 Salve Galera, to precisando da ajuda de voces. bom é o seguinte, eu tenho alguns webcontrols que são puxados para a pagina da seguinte maneira: pagina.aspx.cs protected void Page_Load(object sender, EventArgs e) { if (Session["WUC"] != null) { Control control = LoadControl(GetWUC("WUC")); Panel1.Controls.Add(control); } } private String GetWUC(String key) { return Session[key].ToString(); } private void SetWUC(String str_control) { if (Session["WUC"].ToString() != str_control) Session["WUC"] = str_control; } protected void Button1_Click(object sender, EventArgs e) { try { if (GetWUC("WUC") != "~/WUCalendar.ascx") { Panel1.Controls.Clear(); SetWUC("~/WUCalendar.ascx"); Control control = LoadControl(GetWUC("WUC")); Panel1.Controls.Add(control); } } catch (Exception ex) { throw new Exception(ex.ToString()); } } protected void Button2_Click(object sender, EventArgs e) { try { if (GetWUC("WUC") != "~/WWUCqualquer.ascx") { Panel1.Controls.Clear(); SetWUC("~/WUCqualquer.ascx"); Control control = LoadControl(GetWUC("WUC")); Panel1.Controls.Add(control); } } catch (Exception ex) { throw new Exception(ex.ToString()); } } protected void Button3_Click(object sender, EventArgs e) { try { if (GetWUC("WUC") != "~/ws2.ascx") { Panel1.Controls.Clear(); SetWUC("~/ws2.ascx"); Control control = LoadControl(GetWUC("WUC")); Panel1.Controls.Add(control); } } catch (Exception ex) { throw new Exception(ex.ToString()); } } e no Global.asax tenho o seguinte tambem. void Session_Start(object sender, EventArgs e) { Session["WUC"] = "WUCalendar.ascx"; Session.Timeout = 50; } mas quando carregado o controle calendario por exemplo, e o usuario tenta mudar de mes ele só efetua a mudança apos o segundo clique. podem dar uma olhada no experimento que fiz no link: http://teste.blancalion.com.br/ Galera valeu de novo a ajuda ... Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Novembro 30, 2007 Beleza paulojr? Cara eu acho que o problema deve estar no seu controle WUCalendar.ascx, podia postar aqui como você fez os eventos dele, como esta o code behind deste controle... Compartilhar este post Link para o post Compartilhar em outros sites
paulojr 0 Denunciar post Postado Novembro 30, 2007 fala quintelab beleza ? cara o controle do calendario esta padrão, nao adicionei nenhum evento, mas na parte do dos radiobuttonlist coloquei um evento simples ao selecionar o Radio, ele só tranfere o valor do Radio para a Label. o que nao to entendendo é porque no primeiro click ou seleção ele nao funciona e nas demais sim. o codigo com calendar.ascx <%@ Control Language="C#" AutoEventWireup="true" CodeFile="WUCalendar.ascx.cs" Inherits="WUCalendar" %> <asp:Calendar ID="Calendar1" runat="server" BackColor="White" BorderColor="Black" DayNameFormat="Shortest" Font-Names="Times New Roman" Font-Size="10pt" ForeColor="Black" Height="127px" NextPrevFormat="FullMonth" TitleFormat="Month" Width="215px" EnableTheming="True" OnSelectionChanged="Calendar1_SelectionChanged" OnDataBinding="Calendar1_SelectionChanged"> <SelectedDayStyle BackColor="#CC3333" ForeColor="White" /> <TodayDayStyle BackColor="#CCCC99" /> <SelectorStyle BackColor="#CCCCCC" Font-Bold="True" Font-Names="Verdana" Font-Size="8pt" ForeColor="#333333" Width="1%" /> <DayStyle Width="14%" /> <OtherMonthDayStyle ForeColor="#999999" /> <NextPrevStyle Font-Size="8pt" ForeColor="White" /> <DayHeaderStyle BackColor="#CCCCCC" Font-Bold="True" Font-Size="7pt" ForeColor="#333333" Height="10pt" /> <TitleStyle BackColor="Black" Font-Bold="True" Font-Size="13pt" ForeColor="White" Height="14pt" /> </asp:Calendar> calendar.ascx.cs using System; using System.Web.UI; public partial class WUCalendar : UserControl { protected void Page_Load(object sender, EventArgs e) { } protected void Calendar1_SelectionChanged(object sender, EventArgs e) { } } e do form.ascx <%@ Control Language="C#" AutoEventWireup="true" CodeFile="ws2.ascx.cs" Inherits="ws2" %> <asp:RadioButtonList ID="RadioButtonList1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="RadioButtonList1_SelectedIndexChanged"> <asp:ListItem>Ivan</asp:ListItem> <asp:ListItem>Paulo</asp:ListItem> <asp:ListItem>Claudio</asp:ListItem> </asp:RadioButtonList> <br /> <br /> <br /> <asp:Label ID="Label1" runat="server"></asp:Label> form.ascx.cs using System; using System.Web.UI; public partial class ws2 : UserControl { protected void Page_Load(object sender, EventArgs e) { } protected void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e) { try { for (int i = 0; i < RadioButtonList1.Items.Count; i++) { if (RadioButtonList1.Items[i].Selected) { Label1.Text = RadioButtonList1.Items[i].Text; } } } catch (Exception ex) { ex.ToString() } } } Valeu Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Novembro 30, 2007 paulojr fiz o teste com o calendário e aqui ele mudou no primeiro clique, o código do controle WUCalendar.ascx é o mesmo. A forma com que eu utilizo ele é diferente, vou tentar explicar. No web.config do meu projeto eu adiciono uma linha dentro da tag controls: <controls> <add src="~/Controls/WUCalendar.ascx" tagName="Calendario" tagPrefix="BrCtl"/> </controls> Nos meus formulários eu coloco a seguinte linha no código html: <BrCtl:Calendario ID="Calenadrio" runat="server" /> E pelo menos dessa forma ele mudou de mês no primeiro cliquei, e o código do calendário eu peguei o seu para testar. Compartilhar este post Link para o post Compartilhar em outros sites
paulojr 0 Denunciar post Postado Novembro 30, 2007 fala quintelab, me fala uma coisa, o teste que voce fez o controle foi carregado dinamicamente ? outra coisa , pelo que pude perceber é o seguinte: o Calendar por exemplo ele funciona de primeira desde que ele tenha sido carregado com a pagina. caso descarregue ele e carregue outro controle ele na proxima vez que carregar passa a agir assim tambem. eu coloquei o projeto de teste pra download caso queira olhar o que to tentanto fazer. se alguem mais tiver uma ideia pra fazer esse esquema eu agradeço. BAIXAR OS ARQUIVOS Compartilhar este post Link para o post Compartilhar em outros sites