RETORNAR HTML DE UMA INSTÂNCIA WEBFORM

DS2T 08/10/2015 19:53:07
#452339
Boa noite! Espero que possam me ajudar.

Eu criei um webForm chamado myWebForm e queria pegar o html dele através de outro webForm, o yourWebForm.
Coloquei esse código no botão do yourWebForm:


            Dim base As New myWebForm

dim myHtml As String = base.Form.InnerHtml()


Só que o objeto Form vinha como Nothing.
Pensando um pouco, comecei a pensar nos motivos disso não ter dado certo. Aí pensei que talvez eu estava usando novamente conceitos do Windows Form.
Provavelmente a página só é carregada após a resposta do servidor, e como não tava sendo feita nenhuma requisição com a instância, ele não carregava os objetos.
é isso mesmo?

Se for isso, existe algum jeito de eu carregar esse meu objeto?
Algo do tipo:

            Dim base As New myWebForm

[txt-color=#e80000]base.PedeProServidorCarregar()[/txt-color]

dim myHtml As String = base.Form.InnerHtml()



E se essa for uma pergunta nada a ver... isso se deve porque ainda não tenho domínio conceitual sobre o Asp.

Obrigado a todos!
KERPLUNK 08/10/2015 20:00:26
#452340
Resposta escolhida
Respondendo duas perguntas de uma vez: Sim, você está tentando aplicar conceitos de windows forms em web forms. O fato de ter no nome [Ô]form[Ô] não quer dizer que sejam a mesma coisa, na verdade não são nem parecidos. Uma coisa importante à ser entendida, é que uma página, seja HTML pura ou gerada por um server com controles renderizados, no final das contas vão sempre virar um HTML estático. Instanciá-lo não significa que você vai ter o form em HTML já renderizado. Pela explicação que você deu, acredito que o que você esteja tentando fazer é uma operação de múltiplas etapas, com preenchimento de dados em diversos forms. Se for esse o caso, tenho boas e más notícias pra você.
DS2T 08/10/2015 20:15:10
#452341
Na verdade, é um modelo html que irei mandar por e-mail.
Sabe aquelas mensagens automáticas?

[Ô]Olá, seu cadastro foi realizado com sucesso.
Para confirmar o cadastro acesse o link abaixo: bla bla bla[Ô]

A ideia é pegar esse html e colocar no corpo do e-mail.

Eu poderia até deixar como Resource e depois ler ele com o objeto IO.File. Mas como já estou num projeto Web, pensei que haveria um jeito [Ô]webesco[Ô] de fazer isso.
Existe?
KERPLUNK 08/10/2015 20:22:01
#452343
Sim, existe. E tem várias maneiras de se fazer, algumas mais simples e outras mais complexas. O que eu faria é usar o AngularJS, mais ou menos como isso aqui, onde existe um template que é preenchido com dados de uma fonte e podem ser enviados por e-mail. Mas utilizar um webform já pronto para isso é que não vai ser fácil.
KERPLUNK 08/10/2015 20:26:00
#452344
Você pode fazer também um webmethod estático no seu form que use algum html como template e o envia por e-mail. E note bem, um HTML, pode até ser um arquivo HTML comum ou um código HTML hardcoded. Eu preferiria a primeira opção por dinamicidade(eita palavrinha difícil de digitar).
DS2T 09/10/2015 03:10:28
#452349
Valeu Kerplunk.

Optei pelo arroz com feijão mesmo. Criei um arquivo html no projeto e li ele usando o ReadAllText do IO.File.

Mais uma vez, valeu pela prontidão das respostas!
Tem me ajudado muito.
Tópico encerrado , respostas não são mais permitidas