Pq não aparecem o meu Asp.NetWebControl em modo de execução
14/07/2010
0
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("<:MeuAdsBannerControl runat=server></: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("",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
Luiz Franco
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)