Sie sind auf Seite 1von 16

BlogeFrumsobreC#(CSharp),ASP.NET,ASP.

NETMVC,AJAX,WinForm,WebForm,Entity
Framework,Microsoft.NETFramework,SQL
PginaInicial

Autores

Livros

Registrese

Forum

Download

Newsletter

Empregos

Contato

DesenvolvimentodeWebsitecomASP.NETeSQLServerParte2

Doao

Publicado29dejaneirode2012|PorRaphaelCardoso|50comentrios

SeoC#Brasiltemsidotilpara
voc,ajudeofazendoumadoao.

Olcaroleitor!
Dandocontinuidadeaoartigoanteriorquecriamosobancodedados,astabelas,camadadeconexo,camadade
entidadeseacamadaderegrasdenegociodonossoprojeto,iremosiniciarodesenvolvimentodonossowebsite.
Casoqueiraacessarasoutraspartes,vejaoslinksabaixo:

SocialMedia

DesenvolvimentodeWebsitecomASP.NETeSQLServerParte1
DesenvolvimentodeWebsitecomASP.NETeSQLServerParte2
DesenvolvimentodeWebsitecomASP.NETeSQLServerParte3
DesenvolvimentodeWebsitecomASP.NETeSQLServerParte4
DesenvolvimentodeWebsitecomASP.NETeSQLServerParte5
Parainiciarmos,faaodownloadeabraoprojetoDesenvolvimentodeWebsitecomASP.NETeSQLServerParte1.
ApsabertoadicioneumnovoWebSiteconformeimagemabaixo.

Pesquisar
Pesquisarpor:
Pesquisar

Enquetes
VocachaqueoC#Brasil
deveriafazermaissorteios?

Salveonovoprojetonomesmodiretriodosdemaisprojetosanterioredefinaumnome.NocasochamareideWebSite

Sim
No
Vote

VerResultados
Arquivodeenquetes

Feitoisso,vamosadicionarumaMasterPageaoprojetoqueseromodelovisualpadrodenovoprojeto.

EncontrenosnoFacebook
C#Brasil
Curtir
2.664pessoascurtiramC#Brasil.

DefinaumnovoparaaMasterPage.DeixeionomecomoMasterPage.masterpagemesmo.

PluginsocialdoFacebook

C#BrasilnoGoogle+
PorpadroquandocriamosumnovoWebSiteautomaticamenteinclusoumapginaDefault.aspx,deveremosexcluila.

C# Brasil
Seguir

+1

C#BrasilnoTwitter
Tweets

Follow

C#Brasil
@csharpbrasil

2Mar

Incluaaoprojetoumanovapastacomonomedecssparaquenelapossamosincluirnossafolhadeestiloqueser
referenciadanaMasterPage.

AprenderaprogramaremC#Parte
3:Vocviunosartigosanterioresa
abordagemsobrealinguagemC#
(CShar...bit.ly/1ChSlCy

C#Brasil
@csharpbrasil

22Jan

[Emprego]DesenvolvedorPlenoC#
(CSharp)EmpresadePagamento:
TipodeVaga:DesenvolvedorPleno
Localda...bit.ly/1yS3Nnh

C#Brasil
@csharpbrasil

Apscriadoapasta,criaremosumnovoarquivodefolhadeestiloconformeimagemabaixoclicandocomobotodireito
sobreapastacsseselecionandoaopoAddNewItem.

8Jan

[Emprego]DesenvolvedorSniorC#:

Tweetto@csharpbrasil

Parceiros

DefinaonomedoarquivoStyleSheetcomodefault.css.

Publicidade
Depoisdecriadooarquivo,incluaafolhadeestiloabaixonoarquivodefault.css.

Lomadee,umanova
espcienaweb.A
maiorplataformade
afiliadosdaAmrica
Latina.

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20

html,body,form
{
height:100%;
}
body
{
fontfamily:Tahoma,Verdana,Arial,SansSerif,TimesNewRoman;
padding:0;
margin:0;
}
#geral
{
position:relative;
minheight:100%;
}
*html#geral
{
height:100%;
}
#cabecalho

21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41

{
background:#f09942;
height:150px;
lineheight:150px;
}
#cabecalhoh1
{
padding:0;
margin:0;
}
#cabecalhoh1#logo
{
texttransform:uppercase;
}
#menuul
{
overflow:auto;
backgroundcolor:#353535;
padding:0;
margin:0;
liststyle:none;

42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86

}
#menuulli
{
float:left;
}
#menuullia
{
display:block;
height:50px;
lineheight:50px;
padding:5px20px;
color:#fff;
textdecoration:none;
}
#menuullia:hover
{
color:#353535;
background:#f09942;
textdecoration:underline;
}
#conteudo
{
clear:both;
}
#rodape
{
position:absolute;
backgroundcolor:#f09942;
width:100%;
bottom:0;
left:0;
padding:15px0;
textalign:center;
fontsize:small;
}
#rodapea
{
color:#000;
textdecoration:none;
}
#rodapea:hover
{
color:#000;
textdecoration:underline;
}

AgoraabraocdigoHTMLdonossoarquivoMasterPageesubstituapelodisponvelabaixo.
01 <%@MasterLanguage="C#"AutoEventWireup="true"CodeFile="MasterPage.master.cs"
Inherits="MasterPage"%>
02
03 <!DOCTYPEhtmlPUBLIC"//W3C//DTDXHTML1.0Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1transitional.dtd">
04
05 <htmlxmlns="http://www.w3.org/1999/xhtml">
06 <headrunat="server">
07 <title></title>
08 <styletype="text/css">
09 @importurl('css/default.css');
10 </style>
11 </head>
12 <body>
13 <formid="form1"runat="server">
14 <divid="geral">
15 <divid="cabecalho">
16 <h1id="logo">ProjetoWebSite.NET</h1>
17 </div>
18 <divid="menu">
19
20 </div>
21 <divid="conteudo">
22 <asp:ContentPlaceHolderid="ContentPlaceHolder1"runat="server">
23
24 </asp:ContentPlaceHolder>
25 </div>
26 <divid="rodape">
27 &copy;2012.ProjetoWebSite.NETby<ahref="http://csharpbrasil.com.br"
target="_blank">C#Brasil</a>
28 </div>
29 </div>
30 </form>
31 </body>
32 </html>
VamosincluirumanovapginaDefault.aspxqueutilizaraMasterPage.Cliquecomobotodireitosobreoprojetoe
cliqueemAddNewItem.Definaonomeparadefault.aspx.

SelecioneaMasterPagecriada.

Teremosatomomentoonossowebsiteigualimagemabaixo.

Comopodeperceber,atomomentonotemosomenu.NessecasoiremoscriarumWebUserControlespecificoonde
serexibidooslinksdomenudeacordocomaspginaspresentesemnossobancodedados.Paraissocliquecomo
botodireitoemcimadoprojetoWebSiteecliqueemAddNewItem.

AdicionaremosumnovoWebUserControledefiniremosonomecomoMenuControl.ascx.

Apartirdessemomentocomearemosautilizaodenossasbibliotecascriadasnoartigoanterior.
ClicandocomobotodireitoemcimadoprojetoWebsite,cliqueemAddReference.

NaabaProjects,vocencontrartodasasbibliotecaspresentesemnossasolutions,selecionetodas.

AgoraabraocdigoHTMLdoMenuControl.ascxparaadicionarmosocdigoqueficaracomoabaixo.
1 <%@ControlLanguage="C#"AutoEventWireup="true"CodeFile="MenuControl.ascx.cs"
Inherits="MenuControl"%>
2 <ul>
3 <li>Pginainicial</li>
4 <asp:LiteralID="ltlItensMenu"runat="server"/>
5 <li>Contato</li>
6 </ul>
Comopodevernocdigoanterior,foicriadoumalistaHTMLjcom2(dois)links,PginainicialeContato.Entreeles
adicionamosumServerControldotipoLiteral.OServerControldotipoLiteralumcomponenteparaescrevertextosem
tela,ouseja,seescreveumtextosemquesejageradotagHTML.Nonossocasousaremosparacriarositensdomenu.
AgoraabraoCodeBehindparaincluirmosocdigoC#(CSharp)quelistaroslinksdomenu.Essecdigodeverser
inclusonoPage_LoaddonossoMenuControl.ascx.
01
02
03
04
05
06
07
08
09
10
11

//InstanciadaclassedeNegocio
WebSite.Business.PaginaspaginasBO=newWebSite.Business.Paginas();
//Chamadaaometodoquelistatodasaspaginasqueirgerarumarraydasmesmas
WebSite.Entities.Paginas[]paginas=paginasBO.ListaPaginas();

//Realizandoumlaoderepetionoarrayparalercadaregistro
foreach(WebSite.Entities.Paginaspaginainpaginas)
{
//Formatandoastringparaquesejageradoumasaidaconformeexemplo
//<li>TituloPagina</li>
stringmnu=string.Format("<li><ahref=\"pagina.aspx?id={0}\">{1}</a></li>",
pagina.Id,pagina.Titulo);
12 //AtribuindootextogeradonoServerControlLiteral
13 ltlItensMenu.Text+=mnu;
14 }
Agoraquenossomenuestpronto,vamosincluilonanossaMasterPage.ParaissoabraaMasterPagenomodoDesigne
arrasteoMenuControl.ascxqueestnoSolutionExplorerparadentrodaMasterPage.

SeuHTMLdaMasterPagepassaraficarassim.
01 <%@MasterLanguage="C#"AutoEventWireup="true"CodeFile="MasterPage.master.cs"
Inherits="MasterPage"%>
02
03 <%AquificouareferenciaaoMenuControl.ascx%>
04 <%@Registersrc="MenuControl.ascx"tagname="MenuControl"tagprefix="uc1"%>
05
06 <!DOCTYPEhtmlPUBLIC"//W3C//DTDXHTML1.0Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1transitional.dtd">
07
08 <htmlxmlns="http://www.w3.org/1999/xhtml">
09 <headrunat="server">
10 <title></title>
11 <styletype="text/css">
12 @importurl('css/default.css');
13 </style>
14 </head>
15 <body>
16 <formid="form1"runat="server">
17 <divid="geral">
18 <divid="cabecalho">
19 <h1id="logo">ProjetoWebSite.NET</h1>
20 </div>
21 <divid="menu">
22 <%AquificouonossoMenuContro.ascx%>
23 <uc1:MenuControlID="MenuControl1"runat="server"/>
24 </div>
25 <divid="conteudo">
26 <asp:ContentPlaceHolderid="ContentPlaceHolder1"runat="server">
27
28 </asp:ContentPlaceHolder>
29 </div>

30 <divid="rodape">
31 &copy;2012.ProjetoWebSite.NETby<ahref="http://csharpbrasil.com.br"
target="_blank">C#Brasil</a>
32 </div>
33 </div>
34 </form>
35 </body>
36 </html>
Antesdeexecutarnossoprojeto,precisaremosincluiraConnectionStringparaconexocomobancodedados.Paraisso
abraoWeb.configeincluaocdigoabaixoalterandosomenteosseusdadosdeconexao.
1 <connectionStrings>
2 <addname="DBConnection"connectionString="DataSource=servidor1;User
Id=usuario;Password=senha;InitialCatalog=projeto_website;"
providerName="System.Data.SqlClient"/>
3 </connectionStrings>
Salveeexecuteseuprojetoeteremosoresultadoatomomento.

Seclicarmosnoslinksgeradosapartirdenossalistadepginas,irocorrerumerro404poisoarquivopagina.aspxainda
noexiste.Maisagoramaisfcilcriarpginapoisjtemosnossomodelocriado,entocriaremosoarquivopagina.aspx
eutilizaremosaMasterPage.
CliquecomobotodireitosobreoprojetoecliqueemAddNewItem.

Definaonomeparaoarquivocomopagina.aspxeselecioneaopoSelectmasterpage

Umanovajanelaserabertaondeselecionaremosnossamasterpage.

ReparequeocdigoHTMLdenossapagina.aspxquasenopossuitags,issoporquejesttudodentrodanossa
MasterPage.
1 <%@PageTitle=""Language="C#"MasterPageFile="~/MasterPage.master"
AutoEventWireup="true"CodeFile="pagina.aspx.cs"Inherits="pagina"%>
2
3 <asp:ContentID="Content1"ContentPlaceHolderID="ContentPlaceHolder1"Runat="Server">
4 </asp:Content>
entreastagqueiremosincluirocontedodosite.Poremserinclusoapartirdobancodedados.
VamosimplementarprimeirooHTMLquedeverficarassim.
1 <%@PageTitle=""Language="C#"MasterPageFile="~/MasterPage.master"
AutoEventWireup="true"CodeFile="pagina.aspx.cs"Inherits="pagina"%>
2
3 <asp:ContentID="Content1"ContentPlaceHolderID="ContentPlaceHolder1"Runat="Server">
4 <h2>
5 <asp:LiteralID="ltlTitulo"runat="server"/>
6 </h2>
7 <asp:LiteralID="ltlConteudo"runat="server"/>

8 </asp:Content>
ReparequenovamentefizemosusodoLiteral.Eleserumaexcelenteopoparaessescasospoisnoqueremosque
sejageradotagsHTMLextras.
AgoravamosaoCodeBehindparafazermosabuscadasinformaesdapgina.DentrodeleteroeventoPage_Loade
ondeincluiremosnossachamadaaomtodoparabuscarocontedodapaginaeusandocomoinformaooIdda
pgina.OIddpginapassadoporQueryString.ParasabermaissobreQueryStringacesseovideoauladoWellington
Camargo.
01 //RecebeoIDdapginaporQueryStringepelofatodeoparametroserString,realizamos
aconversoparaInteger
02 intIdPagina;
03 int.TryParse(Request.QueryString["id"],outIdPagina);
04
05 //CasonotenhasidopassadooIDdpagina,redirecionaparaapaginapadro
(default.aspx)
06 if(IdPagina==0)Response.Redirect("default.aspx");
07
08 //InstanciadaclassedeNegocio
09 WebSite.Business.PaginaspaginasBO=newWebSite.Business.Paginas();
10 //ChamadaaometodoquelistatodasaspaginaspassandooIDdapginaeretornandoo
primeiroregistro
11 WebSite.Entities.Paginaspagina=paginasBO.ListaPaginas(new
WebSite.Entities.Paginas(IdPagina)).FirstOrDefault();
12
13 //AtribuidoosdadosnosLiterais
14 this.Title=pagina.Titulo;
15 ltlTitulo.Text=pagina.Titulo;
16 ltlConteudo.Text=pagina.Texto;

Comopodever,empoucotempofomoscapazesdedesenvolveronossowebsiteebemflexvel,ouseja,casodesejamos
termaispgina,bastarealizarmosumainseronatabelaPAGINASqueteremosmaispginasinclusasnomenu.Vamos
fazerumteste?Executeoscriptabaixonobancodedados.
1
2
3
4
5

INSERTINTOPAGINAS(TITULO_PAGINA,TEXTO_PAGINA,DATACRIACAO_PAGINA,ATIVO_PAGINA)
VALUES('Produtos','Conteudodapginadeprodutos',GETDATE(),1)

INSERTINTOPAGINAS(TITULO_PAGINA,TEXTO_PAGINA,DATACRIACAO_PAGINA,ATIVO_PAGINA)
VALUES('Clientes','Conteudodapginadeclientes',GETDATE(),1)

Agoraacessesuapginaereparequeforaminclusosmais2pginasnomenu.

Nossoprojetoficoumuitosimplesedefcilmanutenoalmdebemflexveloquenospermitirautilizarummesmo
projetoparadiversosclientesbastandosomentealterarocontedodobancodedados.
Atomomentovocaprendeu:
Criartabelaebancodedados
Desenvolvercamadadedados,entidadesenegocio
CriarpginasutilizandoCSS,MasterPageeutilizandonossacamadadenegocio.
Achaqueacabou?Podeaguardeoprximoartigoqueaindatemmuitacoisaboapelafrenteeiremosaindacriarnosso

paineladministrativo.
Faadownloaddoprojeto:DesenvolvimentodeWebsitecomASP.NETeSQLServerParte2.
Nodeixedeparticipardofrum.SigaoC#BrasilnoTwittereFacebook.
Atoprximoartigoebonsestudos!
Curtir Umapessoacurtiuisso.Sejaoprimeiroentreseusamigos.

Postsrelacionados:
1.
2.
3.
4.
5.

DesenvolvimentodeWebsitecomASP.NETeSQLServerParte5
DesenvolvimentodeWebsitecomASP.NETeSQLServerParte4
DesenvolvimentodeWebsitecomASP.NETeSQLServerParte3
DesenvolvimentodeWebsitecomASP.NETeSQLServerParte1
FacilitandoodesenvolvimentoDALcomSubSonic

PostadoemASP.NET,C#,SQLServer,VisualStudio|Marcadocomo.NET,acessoadados,ASP.NET,C#,CMS,Content
ManagementSystems,CSS,Desenvolverwebsite,DesenvolvimentodeWebsite,NCamadas,NTier,Sistemade
gerenciamentodecontedo,SqlServer,System.Data.OleDb,System.Data.SqlClient,VisualStudio
50respostasparaDesenvolvimentodeWebsitecomASP.NETeSQLServerParte2
LeandoTeixeiradisse:
4defevereirode2012s13:10
OlaRaphael,qualadiferenaentreeucriarumProjetowebnoFilesystemeoIIS(LocalHoust)?

RaphaelCardosodisse:
4defevereirode2012s14:52
OlLeandro
NoFileSystem,quandooprojetocriadoeleexecutadopormeiodoASP.NETDevelopmentServerequandopela
opoLocalIIS,oprojetoexecutadodiretamentenoIIS.
NapraticanoteramuitadiferenasalvoexceesquandonecessarioacessoafuncionalidadesespecificasdoIIS,
permissesentreoutros.

LeandoTeixeiradisse:
5defevereirode2012s0:02
Enahoradapublicao,teriaalgumadiferena?
Raphael,talvezeuestejaenganado,masapsvariastentativasdevisualizaratelanoBrowser(F5),semxito,
PercebiqueeranecessrioadicionasumwebformeselecionaroMasterpage,provavelmentevoctenhaesquecidode
escrever,entosealgumtiveramesmadificuldadequeeu,estaaiasoluo.

RaphaelCardosodisse:
5defevereirode2012s5:17
ObrigadoLeandro
Realmentevoctemrazo,noestavainformadoospassosdecriaodapginadefault.aspx.Acabodefazera
inclusodapartefaltante.

LeandoTeixeiradisse:
6defevereirode2012s12:08
PublicEntities.Paginas[]ListaPaginas(Entities.Paginaspagina)\\permanececomoNull
{
ListListPaginas=newList()\\alistafica0(Zero)
Data.Connection=newData.Connection(this.ConnctionString)
connection.abrirConexao()
StringBuildersqlString=newStringBuilder()
sqlString.Append(select*frompaginas)
IF(pagina!=null){
sqlString.Append(where1=1)
}
IF(pagina.Id>0){
sqlString.Append(andtitulo_paginalike+pagina.Titulo.Replace(,)+)
}
BoatardeRaphael,estoutendoumproblemacomessapartedocdigo,passeiaconnectionstring,masnoestou
conseguindopegarosdadosqueestonobanco.
Debuguei(F11)epercebiquenahoradepegarosvaloresoId,texto,tituloEstotodoscom0(Zero).Eapagina
igualNull.
Olhacomoestameucd.:
//EntitiesoDebugnementraaqui
PublicclassPaginas
{
PublicintId{getset}
PublicstringTitulo{getset}
PublicstringTexto{getset}

PublicDateTimeDataDaCriacao{getset}
publicboolAtivo{getset}
PublicPaginas(intId)
{
this.Id=Id
}
//Business
IDataReaderreader=connection.RetornaDados(sqlString.ToString())
intidxId=reader.GetOrdinal(ID_PAGINA)
intidxTitulo=reader.GetOrdinal(TITULO_PAGINA)
intidxTexto=reader.GetOrdinal(TEXTO_PAGINA)
intidxDataCriacao=reader.GetOrdinal(DATACRIACAO_PAGINA)
intidxAtivo=reader.GetOrdinal(ATIVO_PAGINA)
while(reader.Read())
{
Entities.Paginas_pagina=newEntities.Paginas()
_pagina.Id=reader.GetInt32(idxId)
_pagina.Titulo=reader.GetString(idxTitulo)
_pagina.Texto=reader.GetString(idxTexto)
_pagina.DataDaCriacao=reader.GetDateTime(idxDataCriacao)
_pagina.Ativo=reader.GetInt32(idxAtivo)==1
ListPaginas.Add(_pagina)
}
connection.FechaConexao()
returnListPaginas.ToArray()
}
Oqueeupoderiaestarfazendonestecaso?
Desculpemeportantasperguntaseobrigadoporrespondlas

DenisCarvalhodisse:
7defevereirode2012s23:33
ParabnspeloempenhoededicaonoartigoRaphael.
Semdvidasumexcelentecontedo!!!

RaphaelCardosodisse:
7defevereirode2012s23:55
EaiLeandro,tevealgumavano?Jverificouasatribuies?Verifiqueoexemploparadownload,talvezvoctenha
esquecidoalgumdetalhe,pormnovinenhumadivergncia.

Julianodisse:
8defevereirode2012s19:34
EstapalavraConfigurationManagerestgrifadanotrechodecdigoabaixo,ouseja,problema,poderiameajudar?
Gratopeloapoioeartigo,muitobom!
namespaceWebSite.Business
{
publicclassPaginas
{
privatestringConnectionString=ConfigurationManager.ConnectionStrings[DBConnection].ConnectionString
publicPaginas(){}
publicEntities.Paginas[]ListaPaginas()
{
returnListaPaginas(null)
}

RaphaelCardosodisse:
8defevereirode2012s22:17
AdicionearefernciaSystem.Configuration.

Julianodisse:
14defevereirode2012s20:58
Desculpeademoraeignorncia,masnodeucertoRaphael.

RaphaelCardosodisse:
14defevereirode2012s21:24
OlJuliano
VoctentoucolocarocodigoabaixonoiniciodoCodeBehind?
usingSystem.Configuration;
Comovocfez?Qualerroocorre?

julianoalexandre18disse:
14defevereirode2012s21:38
Sim,naverdadejestava.
Oerroqueaparecequandosetoele:ThenameConfigurationManagerdoesnotexistinthecurrentcontext

Leandrodisse:
20demarode2012s14:10
Olboatarde,estouseguindootutorialquevcpostou,conseguicriaraspaginas,bancodedados,ataitudo
tranquilo,quandoexecuteiecliqueiemlink(porexemplonodeservios)oVisualStudiomeretornaoseguinte
erro:Anexpressionofnonbooleantypespecifiedinacontextwhereaconditionisexpected,nearpagina.nomtodo
publicIDataReaderRetornaDados(stringsql)daClasseWebSite.Data,vcpoderiameajudar?

Jordandisse:
31demarode2012s11:05
Olatodos,
julianoalexandre18:Tambmtiveesseproblema.EstavacomusingSystem.COnfiguraionecontinuavacomproblema.
EntopararesolvereuadicioneinamoarefernciaaDllSystema.Configurationdaverso2.0.Fizissoeresolveu.
Esperoqueteajude.

CaioBombadisse:
19deabrilde2012s1:19
Carasodaesseerrotenteidetudoenaovai..
ErroderedeouespecficoinstnciaaoestabelecerconexocomoSQLServer.Oservidornofoiencontradoouno
estavaacessvel.VerifiqueseonomedainstnciaestcorretoeseoSQLServerestconfiguradoparapermitir
conexesremotas.(provider:ProvedordePipesNomeados,error:40NofoipossvelabrirumaconexocomoSQL
Server)

DouglasAlmeidadisse:
8dejunhode2012s12:48
CaioBombaEsseerrodeveserporqueoseubanconoestconectadoVocprecisaconectarseubancodedados
aoprojeto,apsconectadovocclicacombotodireitonobancodedadosqueabrirnoserverexplorer(dolado
esquerdodoseuVS)evaiempropriedadesCopieoDataSourceesseDataSourcedeveserinseridonoWeb
ConfigassimcomooRaphaelCardosoensinanopostEstoutentandoajudarpoisjvierrossemelhantes..
hehehe..ABRAO!!!

renanroncaratidisse:
13dejulhode2012s21:40
OUsodebreakpointsexcelenteparadebugarteusprogramaseveremondeestoerro,omeuatentono
estavafuncionandoeeuacheiserproblemadebancodedados.Aocolocarbreakpointsnacamadaondeutilizoo
connectionstring(variveis)pudeverqueobancoestavasimconectandolegalpormumIFnacamadadenegcio
estavacomas{}naposioerradaeentocorrigimeuerro.Estoupassandotambmparaagradeceraopost,
excelente!Vamosquevamosparaaparte3

renanroncaratidisse:
13dejulhode2012s21:42
Sumadvidaagora.
Poderiammeajudaraentendermelhor,seibempoucosobre,oporqudecriarmosas3camadas(Dados,Entidade,
Negcio)eafunodecadaumadelas.
Seipoucosobreisto,masadicadequemjmexecomistoamuitotempopodermeajudaraentendermelhor.
Muitograto.

RaphaelCardosodisse:
15dejulhode2012s14:51
OlRenan,tudobem?
Bom,voudeixarumlinkparavocacessarelerumpoucosobreoassunto.
umartigomuitobomdositedaMSDNsobredesenvolvimentoemcamadas.
http://www.microsoft.com/brasil/msdn/tecnologias/arquitetura/Layers_Developing.mspx
Abrao

renanroncaratidisse:
16dejulhode2012s14:39
Raphael,meumuitoobrigado,vaiserdegrandeajuda.

Dennerdisse:
1deagostode2012s9:46
Raphael,aminhaMasterPagenoestreconhecendooarquivocssparaformataroestilo.Oquedevofazer?

Lucianadisse:
26deagostode2012s21:43
Meumenunoaparecenapgina,jrefiztodooprojetoenoseioqueesterrado.

VilmarCSdisse:
6dedezembrode2012s23:50
Ol,Raphael,Ol,Raphael,noestouconseguindoabrirmeuprojetoeomesmoestaparecendoestamensagemde
erro.
Umprojetocomumtipodesadadabibliotecadeclassenopodeseriniciadodiretamente.Afimdedepurareste
projeto,adicioneumprojetoexecutvelparaestasoluoquereferenciaoprojetodebiblioteca.Definaoprojeto
executvelcomooprojetodeinicializao
Vocpode,porfavor,medizerporqueistoestaracontecendo?
Desdejagradeo

RaphaelCardosodisse:
7dedezembrode2012s9:25
Vilmar,noSolutionExplorercliquecomobotodireitosobreoprojetowebeescolhaaopoSetasStartUpProject.
Issoirdefiniroprojetowebcomooprojetodeinicializao.

Cleberdisse:
7dedezembrode2012s14:03
OlRaphael,
Sepudermetirarumadvidaduranteodecorrerdotutorialmeajudariamuitonoaprendizado.Oqueseriao
Page_loaddapaginaMenuControl?

Cleberdisse:
7dedezembrode2012s14:51
JconseguiencontrarRaphael!

elmamjcdisse:
7dedezembrode2012s16:23
Raphael,muitobomoartigo.Vcestdeparabns.
Pormapstodooprocesso,apsadicionalocontroleupedipexecutar.
Aofazeristoedarf5estdandoumerroquemnemconsitoencontrarnainternet.
Theroottagconectionstringisnotvalidforwebconfig
Theroottabshouldbe
Algemsabecomoarrumar?

RaphaelCardosodisse:
7dedezembrode2012s16:49
AparentementedeveconterumerroemseuWeb.Config
Verifiqueparaverseissoqueestocorrendo.

Romulodisse:
9dejaneirode2013s9:26
OlRaphael!Parabnspeloartigo.Euchegueiataqui,masocdigoqueinserinaPage_Loadapontaerronos
atributos:this.Title=pagina.Titulo
ltlTitulo.Text=pagina.Titulo
ltlConteudo.Text
Devodeclarloemalgumlugar?
Abrao!

RaphaelCardosodisse:
9dejaneirode2013s20:05
Dependecomoestseucdigo.VocdeclarouacamadadenegciodaPagina?
Comoestseucdigo?

Romulodisse:
9dejaneirode2013s21:47
NaverdadeeuhaviadeclaradonoPage_Loaderradoejcorrigi,noentantoositenoestconseguindoacessaro
bancodedadoseomenunoestformatadocomonaimagem020.Vocsabecomoresolveresteponto?
Abrao!

RaphaelCardosodisse:
10dejaneirode2013s12:44
Romulo,vocincluiuocaminhocorretodoCSS?
Quantoaobancodedados,verifiqueseosdadosdeconexoestocorretos.

TiagoAssisdisse:
23deabrilde2013s11:51
Muitolegalotutorial,hamuitotempoprocuravaalgoassimnanet!Parabens!
Masvamosahperguntinha,estoucomproblemasnafolhadocss,meumenunaoestrespeitandoaformataodo
css.Ficanalateralesquerdacomosefossetopicos.Poderiameajudar?
Obrigado.
Abrao.
Tiago

RaphaelCardosodisse:
23deabrilde2013s14:10
OlTiago,qualseriaseuproblemamaisespecificamente?

Evaldodisse:
26dejulhode2013s15:16
OlRaphael!Muitobomotutorial!!Parabns.
EstoucomomesmoproblemadoTiagoAssis.
omenuestadesalinhado+assim:
PaginaInicialContato
EmpresaServios
Poderianosajudar?
Muitoobrigado!
Abraos
Evaldo

RaphaelCardosodisse:
30dejulhode2013s17:52
Evaldo,noentendioproblema?Estdandoquebradomenu.Seforisso,tenteverificarowidthdomenu.Talvezseja
necessrioaumentar.Maissevocseguircorretamenteoexemplonotemerro.

CristianFerreiradisse:
30desetembrode2013s15:02
OlpessoalpraquemestcomproblemacomoConfigurationManagerThenameConfigurationManagerdoesnot
existinthecurrentcontexto.ResolvioproblemaadicionandoareferenciaabibliotecaSystem.Configurationnoprojeto
WebSite.Business.
DesenvolvimentodeWebsitecomASP.NETeSQLServerParte3C#Brasildisse:
23defevereirode2014s22:16
[]DesenvolvimentodeWebsitecomASP.NETeSQLServerParte2[]
DesenvolvimentodeWebsitecomASP.NETeSQLServerParte5C#Brasildisse:
23defevereirode2014s22:19
[]DesenvolvimentodeWebsitecomASP.NETeSQLServerParte2[]
DesenvolvimentodeWebsitecomASP.NETeSQLServerParte1C#Brasildisse:
23defevereirode2014s22:23
[]DesenvolvimentodeWebsitecomASP.NETeSQLServerParte2[]

ManoelNetodisse:
25deagostode2014s11:30
Primeiramente,obrigadopelasuainiciativadecriarestetutorialmuitotilebastanteesclarecedor.
Estouseguindoseututorialequandochegouaopassodeexecutaroprojetoapsaconfiguraodeconexocomo
bacodedadosnoarquivoWeb.Config,logoemseguidaaconteceesteerro.Comoresolvelo?
CompilationError
Description:Anerroroccurredduringthecompilationofaresourcerequiredtoservicethisrequest.Pleasereviewthe
followingspecificerrordetailsandmodifyyoursourcecodeappropriately.
CompilerErrorMessage:CS0234:ThetypeornamespacenameBusinessdoesnotexistinthenamespaceWebSite
(areyoumissinganassemblyreference?)
SourceError:

Line11:{
Line12://InstanciadaclassedeNegocio
Line13:WebSite.Business.PaginaspaginasBO=newWebSite.Business.Paginas()
Line14://Chamadaaometodoquelistatodasaspaginasqueirgerarumarraydasmesmas
Line15:WebSite.Entities.Paginas[]paginas=paginasBO.ListaPaginas()
SourceFile:c:\Users\Ntz1nn\Documents\VisualStudio2013\WebSites\WebSite3\MenuControl.ascx.csLine:13

RaphaelCardosodisse:
25deagostode2014s19:48
OlManoel
OqueocorrequeocompiladornoencontraonamespaceBusinessnoprojeto,ouseja,nalinha13ondeelese
refereaoWebSite.Business.Paginasnoencontradonoprojeto.Vococriou?

ManoelNetodisse:
26deagostode2014s9:06
Tcriadoexatamentecomonoprimeiropassodotutorial.

ManoelNetodisse:
26deagostode2014s10:12
Todasasreferenciasestoinseridasttudocorreto.Somenteessabroncaai.

ManoelNetodisse:
26deagostode2014s18:00
Raphael,obrigadopelaateno,masoproblemapersiste.Comovocperguntou,WebSite.Business.Paginasest
criadodeacordocomovocexplicounaparte1dotutorial.Desdejagradeoasuaajuda.

RaphaelCardosodisse:
26deagostode2014s20:55
Manoel,vocconseguiriamandaroprintdoerro?Entendoquevocdizestcorreto,maisaquelenegocio,asvezes
podepassardespercebido.Euaindaacreditoqueelenoestaencontradoareferenciaporqueelerealmenteno
existenoprojetoouestacomoNamespacediferente.

ManoelNetodisse:
26deagostode2014s22:11
Raphael,segueolinkdaprintdoerro.
https://imagizer.imageshack.us/v2/969x508q90/906/oEfQIj.jpg
abaixosegueocdigodomeuarquivoWebSite.Business.Paginas
usingSystem
usingSystem.Collections.Generic
usingSystem.Text
usingSystem.Configuration
usingSystem.Data
namespaceWebSite.Business
{
publicclassPaginas
{
privatestringConnectionString=ConfigurationManager.ConnectionStrings[DBConnection].ConnectionString
publicPaginas(){}
publicEntities.Paginas[]ListaPaginas()
{
returnListaPaginas(null)
}
publicEntities.Paginas[]ListaPaginas(Entities.Paginaspagina)
{
ListlstPaginas=newList()
Data.Connectionconnection=newData.Connection(this.ConnectionString)
connection.AbrirConexao()
StringBuildersqlString=newStringBuilder()
sqlString.AppendLine(select*frompaginas)
if(pagina!=null)
{
sqlString.AppendLine(where1=1)
if(pagina.Id>0)
{
sqlString.AppendLine(andid_pagina=+pagina.Id+)
}
if(!string.IsNullOrEmpty(pagina.Titulo)&&pagina.Titulo.Length>0)
{

sqlString.AppendLine(andtitulo_paginalike+pagina.Titulo.Replace(,)+)
}
if(!string.IsNullOrEmpty(pagina.Texto)&&pagina.Texto.Length>0)
{
sqlString.AppendLine(andtexto_paginalike+pagina.Texto+)
}
}
IDataReaderreader=connection.RetornaDados(sqlString.ToString())
intidxId=reader.GetOrdinal(ID_PAGINA)
intidxTitulo=reader.GetOrdinal(TITULO_PAGINA)
intidxTexto=reader.GetOrdinal(TEXTO_PAGINA)
intidxDataCriacao=reader.GetOrdinal(DATACRIACAO_PAGINA)
intidxAtivo=reader.GetOrdinal(ATIVO_PAGINA)
while(reader.Read())
{
Entities.Paginas_pagina=newEntities.Paginas()
_pagina.Id=reader.GetInt32(idxId)
_pagina.Titulo=reader.GetString(idxTitulo)
_pagina.Texto=reader.GetString(idxTexto)
_pagina.DataCriacao=reader.GetDateTime(idxDataCriacao)
_pagina.Ativo=reader.GetInt32(idxAtivo)==1
lstPaginas.Add(_pagina)
}
connection.FechaConexao()
returnlstPaginas.ToArray()
}
publicboolSalvaPagina(Entities.Paginaspagina)
{
boolsalvou=false
if(pagina!=null)
{
Data.Connectionconnection=newData.Connection(this.ConnectionString)
connection.AbrirConexao()
StringBuildersqlString=newStringBuilder()
if(pagina.Id>0)
{
sqlString.AppendLine(updatepaginasset)
sqlString.AppendLine(titulo_pagina=+pagina.Titulo.Replace(,)+,)
sqlString.AppendLine(texto_pagina=+pagina.Texto.Replace(,)+,)
sqlString.AppendLine(ativo_pagina=+(pagina.Ativo?1:0)+)
sqlString.AppendLine(whereid_pagina=+pagina.Id+)
}
else
{
sqlString.AppendLine(insertintopaginas(titulo_pagina,texto_pagina,datacriacao_pagina,ativo_pagina))
sqlString.AppendLine(values(+pagina.Titulo.Replace(,)+,+pagina.Texto.Replace(,)+,
GETDATE(),+(pagina.Ativo?1:0)+))
}
inti=connection.ExecutaComando(sqlString.ToString())
salvou=i>0
connection.FechaConexao()
}
returnsalvou
}
publicboolSalvaPagina(intId,stringTitulo,stringTexto,DateTimeDataCriacao,boolAtivo)
{
returnSalvaPagina(newEntities.Paginas(Id,Titulo,Texto,DataCriacao,Ativo))
}
publicboolExcluiPagina(Entities.Paginaspagina)
{
boolsalvou=false
if(pagina!=null&&pagina.Id>0)
{
Data.Connectionconnection=newData.Connection(this.ConnectionString)
connection.AbrirConexao()
StringBuildersqlString=newStringBuilder()
sqlString.AppendLine(deletefrompaginas)
sqlString.AppendLine(whereid_pagina=+pagina.Id+)
inti=connection.ExecutaComando(sqlString.ToString())
connection.FechaConexao()
}
returnsalvou
}
publicboolExcluiPagina(intId)
{
returnExcluiPagina(newEntities.Paginas(Id))
}

}
}

RaphaelCardosodisse:
27deagostode2014s21:17
Manoel,analiseiocdigoeseuprint.Baixeioprojetodoartigoparaanalisar.Oquepodeestarocorrendoalgum
problemacomareferenciadadll.Sugiroqueremovaeadicionenovamente.

Leonardodisse:
9desetembrode2014s23:11
Dvida:aideiadecarregarpginaseocontedopelosqlservermuitolegal,masocontedoficarialimitadocomo
possoativaredesativaraspginas(seguindoessaideia)mascarregarpaginas(aqrquivosaspx)??
eugostariadetervariaspginasechamalasmasmanteressaideiadeativaredesativarnobd.

RaphaelCardosodisse:
10desetembrode2014s8:11
OlLeonardo
NessecasoaideiaentotercadastradonobancoaURLdowebformsevocativaedesativa.Porem,crieiuma
MasterPageparaesseswebformsqueverifiqueseesseestdesativadoparanodeixaracessar,ouseja,redirecionao
usurioparanodeixaracessarapaginaqueestadesativada.Dependendoexibirumamensagemdeacessonegado.
Deixeumaresposta
Nome(obrigatrio)
Email(noserpublicado)(obrigatrio)
Site

Notifiquemedoscomentriosporemail

No sou um rob
reCAPTCHA
Privacidade - Termos

Enviarcomentrio

ltimaspostagens
AprenderaprogramaremC#Parte3
[Emprego]DesenvolvedorPlenoC#(CSharp)EmpresadePagamento
[Emprego]DesenvolvedorSniorC#
SorteiodolivroHTML5emAoEditoraNovatec
SorteiodolivroDesenvolvendocomAngularJSEditoraNovatec
TestesdeInvasoEditoraNovatec
FoundationforSitesEditoraNovatec
SorteiodolivroCriandoAplicaesWebcomWordPressEditoraNovatec
SorteiodolivroProgramaodeJogosAndroidEditoraNovatec
[Emprego]Desenvolvedor.NET

ltimoscomentrios
AdenordeOliveiraemDadosrelacionadoscomEntityFramework4
HenriqueemCrudcomEntityFrameworkfcilparte2
RaphaelCardosoemCriandoumWebServicesegurocomSoapHeader
JojagoulartemCriandoumWebServicesegurocomSoapHeader
AlexandreCoelhoemCriandoUserControlsemASP.NET
RaphaelCardosoemDesenvolvimentodeWebsitecomASP.NETeSQL
ServerParte1
NataliaemDesenvolvimentodeWebsitecomASP.NETeSQLServerParte
1
RaphaelCardosoemDesenvolvimentodeWebsitecomASP.NETeSQL
ServerParte1
NataliaemDesenvolvimentodeWebsitecomASP.NETeSQLServerParte
1
RaphaelCardosoemDesenvolvimentodeWebsitecomASP.NETeSQL
ServerParte1

Tags

.NETacessoadadosADO.NETAJAXAlfredoLotarASP.NETASP.NETMVC

C#CMS

Comlinkcomponente ContentManagementSystemscsharp CSharp

DesenvolverwebsiteDesenvolvimentodeWebsite

CSS

DicasEmpregoEntityFramework

FrameworkHTMLjqueryLINQMicrosoftMSDNMVCNCamadasNTierNovatec
EditoraPessoaJuridicaRibeiroPretoSistemadegerenciamentodecontedoSqlServer

VisualStudio

System.Data.OleDb System.Data.SqlClientsystem.ioVB.NET
VisualStudioWebcast WebForm WebServicewindowsformsWinForm

C#Brasil(CC)Algunsdireitosreservados.OcontedodestesiteestsobalicenadeCreativeCommonsAtribuioUsoNoComercialCompartilhamentopela
mesmaLicena2.5Brasil.Permissese/ourestriesalmdoescopodestalicenapodemservistase/ourequeridas.Nenhumcontedodestesitepodesercopiado
ereproduzidoemoutrositesemautorizaodoautor!
20062015.Todososdireitosreservados.
Desenvolvidopordesenweb.com

Das könnte Ihnen auch gefallen