RSS

The Controls Collection Cannot be Modified Because the Control Contains Code Blocks

07 mai

Usando MasterPages no AspNet voce pode cair nesse problema ao usar CodeBlocks no Header. Vejamos o seguinte cenário:

<head runat=”server” >
<title>webCash</title>
<link rel=”stylesheet” type=”text/css” href=”/App_Themes/Default/Master.css” />
<link rel=”shortcut icon” href=”/favicon.ico”/>
</head>

Ficamos limitados quanto ao local onde se encontrará o favicon dependendo de como a aplicação fora hospedada. O que queremos é que o ícone seja lido da raiz da aplicação indiferente de como foi feita a hospedagem. Normalmente resolveríamos isso com Code Blocks, como abaixo:

<head runat=”server” >
<title>webCash</title>
<link rel=”stylesheet” type=”text/css” href=”/App_Themes/Default/Master.css” />
<link rel=”shortcut icon” href=”<%= ResolveUrl(“~/favicon.ico”)%> “/>
</head>

Porém essa sintaxe causa o erro citado no título desse post. O que podemos fazer ? Utilizar DataBind no lugar dos Code Blocks. No Head, a sintaxe é quase igual, mudando apenas o sinal = para #, como abaixo:

<head runat=”server” >
<title>webCash</title>
<link rel=”stylesheet” type=”text/css” href=”/App_Themes/Default/Master.css” />
<link rel=”shortcut icon” href=”<%# ResolveUrl(“~/favicon.ico”)%> “/>
</head>

E, no Page_Load do MasterPage, dispararemos o devido bind:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
If Not Me.IsPostBack Then
Page.Header.DataBind()
End If
End Sub

Em linhas gerais, é isso.
Agarceço ao seguinte post por essa ideia:

 
1 Comment

Publicado por em 07/05/2009 em ASP.NET, Tecnologia

 

Tags:

Uma resposta para The Controls Collection Cannot be Modified Because the Control Contains Code Blocks

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s

 
Seguir

Obtenha todo post novo entregue na sua caixa de entrada.