TEMPLATE DE HTML

ANTONICESARPEDR 24/11/2011 16:31:19
#389968
Boa tarde pessoal,
Estou com o seguinte problema e não sei por onde começar,
Eu preciso criar um template que gere um html pra mim,
vamos la eu queria queria saber como que gera um HTML via Codebehind.

Não sei por onde começar eu ja criei um de text box.
Segue abaixo

public class TextFieldTemplate : ITemplate
{
private ListItemType listItemType; // Tipo de item (modo no DetailsView)
private TextPageField textPageField; // Campo da Página que será apresentado neste controle

/// <summary>
/// Construtor da classe
/// </summary>
/// <param name=[Ô]pTextPageField[Ô]>Campo da Página que será apresentado neste controle</param>
/// <param name=[Ô]pListItemType[Ô]>Tipo de item (modo no DetailsView)</param>
public TextFieldTemplate(TextPageField pTextPageField, ListItemType pListItemType)
{
textPageField = pTextPageField;
listItemType = pListItemType;
}

#region ITemplate Members
/// <summary>
/// Método que será chamado automaticamente pela página que irá construir os controles deste campo
/// </summary>
/// <param name=[Ô]container[Ô]></param>
public void InstantiateIn(Control container)
{
if (listItemType == ListItemType.Item)
{
// No modo somente-leitura, será exibido uma Label
Label label = new Label();
label.DataBinding += new EventHandler(label_DataBinding);
container.Controls.Add(label);
}
else if (listItemType == ListItemType.EditItem)
{
// No modo de edição, será exibido uma caixa de texto

TextBox textBox = new TextBox();
textBox.ID = textPageField.Name + [Ô]_TextBox[Ô];
textBox.DataBinding += new EventHandler(textBox_DataBinding);
textBox.ValidationGroup = FieldTemplateHelper.VALIDATION_GROUP;

if (textPageField.MultiLine)
{
// se o campo da página for definico como [ô]múltiplas linhas[ô], configura a caixa de texto
textBox.TextMode = TextBoxMode.MultiLine;
textBox.Rows = 4;
}

container.Controls.Add(textBox);

if (textPageField.Required) // se o campo de página for de preenchimento obrigatório
container.Controls.Add(FieldTemplateHelper.CreateRequiredFieldValidator(textPageField, textBox));

if (!string.IsNullOrEmpty(textPageField.ValidationExpression)) // se o campo de seguir uma expressão regular
container.Controls.Add(FieldTemplateHelper.CreateRegularExpressionValidator(textPageField, textBox));
}
}

/// <summary>
/// Método a ser acionado no evento de DataBinding do item na GridView. é aqui
/// que a informação do banco de dados será apresentada na caixa de texto
/// </summary>
/// <param name=[Ô]sender[Ô]></param>
/// <param name=[Ô]e[Ô]></param>
public void textBox_DataBinding(object sender, EventArgs e)
{
TextBox txtBox = (TextBox)sender;
DetailsView container = (DetailsView)txtBox.NamingContainer;
if (container.DataItem != null)
txtBox.Text = DataBinder.Eval(container.DataItem, textPageField.Name).ToString();
//txtBox.Text = DataBinder.Eval(container.DataItem, textPageField.Name).ToString();
}

/// <summary>
/// Método a ser acionado no evento de DataBinding do item na GridView. é aqui
/// que a informação do banco de dados será apresentada na label
/// </summary>
/// <param name=[Ô]sender[Ô]></param>
/// <param name=[Ô]e[Ô]></param>
public void label_DataBinding(object sender, EventArgs e)
{
Label label = (Label)sender;
DetailsView container = (DetailsView)label.NamingContainer;
label.Text = DataBinder.Eval(container.DataItem, textPageField.Name).ToString();
}

#endregion
}


agora precisava de um que gerasse um HTML mas não sei por onde começar.

Obrigado.
KERPLUNK 24/11/2011 16:37:33
#389969
Amigo, explique o que vc quer fazer exatamente, tipo, pra que quer e talz... possivelmente tem outra solução pra isso...
ANTONICESARPEDR 24/11/2011 16:40:43
#389971
Então eu estou criando uma pagina dinamica, onde eu quero criar um template que quando o desenvolvedor passar o tipo desse template ele escreva e saia no lugar que eu jogar em html, mas eu não sei criar html em codebehind, só sei que da.....
KERPLUNK 24/11/2011 17:00:03
#389973
Hmmm, me parece que vc quer criar é um WebControl... vc não precisa gerar HTML no codebehind pra isso...
ANTONICESARPEDR 24/11/2011 17:17:33
#389975
Como que eu posso fazer.....
KERPLUNK 24/11/2011 18:02:26
#389984
Comece por aqui
Tópico encerrado , respostas não são mais permitidas