Pergunta

Eu criei um webpart em c # para SharePoint. é basicamente um formulário com caixas de texto, literais, validadores e botões.

im não tem certeza como tornar este formulário para torná-la bonita. O layout etc está sendo feito inteiramente dentro desta classe c #.

No momento de começar im apenas overrinding método CreateChildControls() e adicionando cada controlo de formulário usando algo como: this.Controls.Add(submitButton);

Todas as ideias sobre a melhor forma de disposição este formulário?

Graças.

Foi útil?

Solução

Ao criar personalizado webParts Eu também prefiro para implementá-las, substituindo os CreateChildControls () e Render () métodos. No Render () método que tem total controle da saída html e posso tornar meus controles internos, chamando this.someInnerControl.RenderControl (escritor) .

Tendo total controle da saída html também torna mais fácil para o estilo do HTML utilizando CSS. Como outras pessoas sugere, use um arquivo CSS externo e aplicar os chiqueiros ao class atributo em elementos HTML ou CssClass propriedade no controle web ASP.NET.

Quando eu implementar webparts, que não requer a marca especial, prefiro reutilizar as classes CSS definidos pelo SharePoint. Isso irá garantir que a minha webpart é visualmente semelhante ao webpart fornecido pelo SharePoint e que eu mantenho uma aparência consistente.

Ao usar os estilos CSS definidos SharePoint, você deve estar ciente de sua saída html. Algumas das classes CSS requer uma estrutura html específica para processar corretamente. Você sempre pode usar os navegadores "Ver Fonte" para verificar o html do elemento SharePoint que você está tentando imitar.

Outras dicas

Eu recomendaria pegando a fonte de uma página do SharePoint existentes e usando os estilos definidos pelo SharePoint. Este link aos estilos em 2003 é antiga, mas ainda um bom guia para iniciar. A maioria dos nomes de classe CSS não mudaram.

Em minhas partes da web I incluem arquivos CSS na solução e injetá-las na página usando algo como:

this.Page.Header.RegisterCss("/_layouts/path/to/css/file.css", false);

Você pode substituir as RenderContents (...) para renderizar manualmente o código HTML em qualquer maneira que você quiser. Isto inclui a adição de qualquer css inclui, scripting inclui, etc. que você quer / uso.

Você pode tornar seus controles filho de cordas e de saída, em seguida, eles também, mas você provavelmente não deve chamar as base.RenderContents (...) método.

Apenas certifique-se que você não se esqueça de prestar os seus controles filho.

Se é importante para você ver como você projeta, use o SmartPart que incorpora um controle de usuário em uma parte da web. (No caso de você não sabia, controles de usuário pode ser projetado usando as ferramentas do Visual Studio.)

Se você preferir mão-código, então você está no caminho certo. Basta criar e definir as propriedades iniciais para os controles dentro do CreateChildControls () método e uso this.Controls.Add () como tem sido.

Em ambos os casos, sempre que possível o uso da propriedade CssClass para que possa mexer com a aparência em um arquivo CSS sem ter que recompilar. Você poderiam hard-código os nomes de classe CSS, mas seria melhor usar as propriedades da peça Web ou uma fonte de configuração externo para armazenar estes. Ter uma referência para o arquivo CSS em sua página principal ou injetá-lo na página usando as outras técnicas mencionadas nesta resposta.

Os artigos do MSDN Web Parts no Windows SharePoint Services ou < a href = "http://msdn.microsoft.com/en-us/library/ms415817.aspx" rel = "nofollow noreferrer"> Criando uma web Part básico pode também ajuda.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top