Array
(
)

Pq não aparecem o meu Asp.NetWebControl em modo de execução

Luizitatiba
   - 14 jul 2010

Olá pessoal criei um Asp.NetWebControl utilizando createchildcontrols no VS2008 e com leitura datareader da  base de dados SQLSERVER, como é mostrado abaixo  

using System;

using System.Data;

using System.Data.SqlClient;

using System.Collections.Generic;

using System.ComponentModel;

using System.Linq;

using System.Text;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.Configuration;

using System.Diagnostics;

namespace PubliqueBannerControl

{

[DefaultProperty("Text")]

[ToolboxData("<{0}:MeuAdsBannerControl runat=server></{0}:MeuAdsBannerControl>")]

public class MeuAdsBannerControl: WebControl

{

[Category("CategoriaBanner")]

[DefaultValue("HOME")]

[Description("Define a Categoria ou Zona que ser mostrado o Banner no Site:[HOME-Top, HOME-Botton, FullBanner, BotoBanner, etc.:]")]

public string Categoria

{

get

{

String c = (String)ViewState["Categoria"];

return ((c == null) ? String.Empty : c);

}

set

{

ViewState["Categoria"] = value;

}

}

[Category("Apontamento")]

[DefaultValue("_blank")]

[Description("Define o Modo como a URL ser Exibida, no vale para banners em Flash:[_blank, _parent, _search, _self, _top]")]

public string Target

{

get

{

String T = (String)ViewState["Target"];

return ((T == null) ? String.Empty : T);

}

set

{

ViewState["Target"] = value;

}

}

[Category("SqlConnection")]

[DefaultValue("")]

[Description("Digite Aqui o Nome da Conexo da Base Sql do Site")]

public string NomeConexao

{

get

{

String con = (String)ViewState["NomeConexao"];

return ((con == null) ? String.Empty : con);

}

set

{

ViewState["NomeConexao"] = value;

}

}

//Criando Variaveis para os Controles serem usados

private HyperLink hplBanner;

// private Literal LiteralFlash;

protected override void CreateChildControls()

{

//Criando os Controles

hplBanner = new HyperLink();

/// LiteralFlash = new Literal();

#region SqlDataBase

if ((Categoria).Length > 0)

{

try

{

SqlConnection myConnection = default(SqlConnection);

SqlCommand myCommand = default(SqlCommand);

SqlDataReader myDataReader = default(SqlDataReader);

myConnection = new SqlConnection(WebConfigurationManager.ConnectionStrings[String.Format("{0}",NomeConexao)].ConnectionString);

myCommand = new SqlCommand("NRCA_sp_Get_Random_Banner", myConnection);

myCommand.CommandType = CommandType.StoredProcedure;

SqlParameter parameterPage = new SqlParameter("@Category", SqlDbType.VarChar, 20);

parameterPage.Value = Categoria;

myCommand.Parameters.Add(parameterPage);

myConnection.Open();

myDataReader = myCommand.ExecuteReader();

if (myDataReader.Read())

{

//string PathSrc = myDataReader["Image_Src_Path"].ToString();

// string TipoExt;

// RightLeft extensao = new RightLeft();

// TipoExt = extensao.Right(PathSrc, 3);

hplBanner.ID = "hplBanner";

hplBanner.Height = Unit.Parse(myDataReader["Height"].ToString());

hplBanner.Width = Unit.Parse(myDataReader["Width"].ToString());

hplBanner.NavigateUrl = ("tracker/?Ad_Id=" + myDataReader["Ad_Id"].ToString());

hplBanner.Target = Target;

hplBanner.ImageUrl = myDataReader["Image_Src_Path"].ToString();

hplBanner.ToolTip = myDataReader["Alt_Text"].ToString();

hplBanner.BorderStyle = BorderStyle.None;

//adicionar os controles a coleao de child controls do Web Custom Control

this.Controls.Add(hplBanner);

this.ChildControlsCreated = true;

}

}

catch (Exception exp)

{

Trace.Write(exp.ToString());

}

}

#endregion

// this.Controls.Add(Rotulo);

base.CreateChildControls();

EnsureChildControls(); //certificando-se de que os controles foram criados

}

}

}

 

Só que a mesma quando executada em meu projeto aspnet ao qual o webcontrol foi inserido não mostra ou renderiza nada do controle hyperlink em execução.Gostaria de saber o que está faltando para corrigir neste meu control usando createchildcontrols e base de dados

Fico no aguardo e desde já agradeço