Acessando métodos na MasterPage através de um UserControl

por Sérgio 28. maio 2010 15:27

Salve blogueiros!

 

 

Recentemente trabalhando num projeto novo para um de nossos clientes identifiquei uma necessidade que nunca havia me deparado anteriormente.

 

Usamos em quase todos os projetos MasterPages e como não poderia ser diferente neste também usamos.

 

O que acontece neste caso é que a MasterPage contém alguns componentes de tela que são manipulados através de métodos contidos na própria MasterPage.

 

O grande problema é que esses métodos teriam que ser chamados num botão que se encontra dentro de um UserControl que fica dentro da página ASPX.

 

A solução para isso é teoricamente simples, mas acreditem, não foi fácil chegar até ela.

Para resolver este problema é necessário fazer algumas coisinhas que serão descritas a seguir.

 

Primeiro de tudo, o método na MasterPage deve ser declarado como Public. Preste atenção ao Inherit de sua MasterPage, ex:

 

MasterPage.master

 

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterAdm.master.cs" Inherits="master_SuaMaster" %>

 

MasterPage.master.cs

 

public void nomeMetodo()

{

    // Faz Algo

}

 

Em seguida é necessário adicionar uma referência no UserControl, e fazer a chamada do método no .cs, ex:

 

UserControl.ascx

 

<%@ Reference VirtualPath="~/MasterPage.master" %>

 

UserControl.ascx.cs

 

((master_SuaMaster)Page.Master).nomeMetodo();

 

 

Espero ter ajudado, até a próxima galera!

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Programação | Programação



Configurando o FCK Editor para plataforma ASP.Net

por Sérgio 17. maio 2010 13:51

Fala galera!

 

Quem nunca precisou uma vez na vida usar um editor HTML para formatação de textos que atire a primeira pedra.

Recentemente num projeto para gerenciamento de conteúdo nos deparamos com um problema que à vistas grossas seria simples, mas como nada na vida de um programador/analista é fácil então tivemos problemas.

 

Hoje vamos falar um pouco sobre o FCK Editor, para quem não conhece é um editor bem prático que pode ser baixado neste site http://sourceforge.net/projects/fckeditor/files/

 

Indicamos a versão 2.6.6 do editor. A vantagem do FCK Editor é que ele pode ser implementado em várias linguagens, mas aqui vamos explicar como usá-lo com ASP.Net.

 

Para começar então baixe o FCK Editor neste link: http://sourceforge.net/projects/fckeditor/

 

Quando você fizer o download do arquivo.zip o descompacte e jogue a pasta fckeditor na raiz do site.

 

 Para utilizá-lo na plataforma ASP.Net de forma fácil é necessário também fazer o download de uma .DLL. Essa DLL está na versão 2.6.3, e pode ser baixada em http://sourceforge.net/projects/fckeditor/files/FCKeditor.Net/2.6.3/FCKeditor.Net_2.6.3.zip/download

 

Quando baixar o arquivo, caso não precise fazer upload de imagens você poderá utilizar a DLL padrão do FCK Editor, que está em “\FCKeditor.Net_2.6.3\bin\Release\2.0\FredCK.FCKeditorV2.dll”. Esta DLL deve ser copiada para a pasta Bin do seu site, dessa forma o FCK Editor pode ser usado como um User Control e também pode ser manipulado pelas páginas .cs. Caso contrário, serão necessários alguns ajustes neste arquivo. Tais alterações estão explicadas mais abaixo.

 

Agora serão necessárias algumas alterações para o FCK Editor funcionar bem, uma de suas características diferenciais é o upload de imagem, e para que ele funcione bem aí vão algumas dicas.

 

Já no seu site abra o arquivo “\fckeditor\fckconfig.js” vá até a linha 276 e 277 e altere:

var _FileBrowserLanguage = 'aspx';

var _QuickUploadLanguage = 'aspx';

 

Agora abra o arquivo “\fckeditor\editor\filemanager\connectors\aspx\config.ascx” e vá até a linha 30. Você verá que há um método chamado “CheckAuthentication()” caso o usuário precise de autenticação para ter acesso ao upload de fotos, essa permissão pode ser tratada nele. Caso não precise você pode simplesmente alterar o return false; para return true;

 

Mais abaixo na linha 50 você verá UserFilesPath = "/userfiles/";  não altere nada, apenas vá até a raiz do site e crie a pasta “userfiles”.

 

O FCK Editor já está configurado para páginas aspx e teóricamente deveria funcionar perfeitamente, mas por causa de um problema na DLL você ainda não conseguirá usar o upload de imagens dele quando o site estiver hospedado em servidores Windows 2003 Server.

 

Para resolver este problema acesse o código fonte da DLL que está disponível no arquivo ZIP já baixado. Agora abra o arquivo “FileBrowser\FileWorkerBase.cs”  vá até a linha 119 e altere:

 

Replace: Response.Write( @"(function(){var d=document.domain;while (true){try{var A=window.top.opener.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();" );

 

Para

 

Replace with: Response.Write(@"(function(){var d=document.domain;while (true){try{var A=window.parent.OnUploadCompleted;break;}catch(e) {};d=d.replace(/.*?(?:\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();");

 

Após realizar esta alteração, salve o arquivo compile o projeto e em seguida jogue a DLL gerada na pasta Bin do site.

 

Ou baixe o arquivo já alterado no link: FredCK.FCKeditorV2.dll (44,00 kb)

 

 

Bom galera, espero ter ajudado, e bom trabalho com o FCK Editor!

Tags:

Off-topic




Calendário

<<  fevereiro 2012  >>
seteququsedo
303112345
6789101112
13141516171819
20212223242526
2728291234
567891011

Ver os posts em um calendário maior

Oportunidades


Para divulgar oportunidades aqui, entre em contato conosco enviando a descrição completa da vaga + uma data de validade para cada uma delas.

* As vagas divulgadas neste espaço são de inteira responsabilidade das empresas anunciantes.

Assine Nossa Newsletter

Quero ser notificado quando um novo Post for publicado