Usuário com melhor resposta
MVC 4 - Conversao Asp.Net (WebForms)

Pergunta
-
Olá
Esrou tentanto converter a seguinte codigo de WebForms para MVC.
Eu tenho um botao que é criado dinamicamente no load:
<%Dim ref as string="http://lllllllll.net/pdep/modules/psychoResults/?token="+ GetToken() +"&noFiche="+Dossier_ID_Depart.ToString() Response.Write("<INPUT Type='button' OnClick='window.open("""& ref &""")' value='Portail Test' />")%>
O metodo GetToken é a chamada de um webservice
<%@ Import Namespace="System.IO" %> <%@ Import Namespace="System.Net" %> <script runat="server" language="vb"> Function GetToken As String Dim address as string= "http://lllllllllllllll.net/pdep/modules/psychoResults/?secret_key=0x0x0x0x0x0x0x0x" Dim token as string Dim client As New WebClient() Dim myDatabuffer As Byte() = client.DownloadData(address) Dim download as String = Encoding.ASCII.GetString(myDataBuffer) token = download GetToken=token End Function </script>
Eu tentei criar um controler para que me retorne o token (autentificaçao) que eu possa substituir na construçao do endereço, mas nao esta funcionando...
Outra possibilidade é na ViewModel criar uma propriedade EndeçodoPortal, onde ele traz o endeço pronto, mas não estou certo que isso funcione.. O tokem tem validade de 20 minutos.
O que vcs fariam para converter?
Grato.
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
Sogi informatique ltée
Respostas
-
Tenta colocar o enredeço entre aspas:
<INPUT Type='button' OnClick='window.open("@Model.AdressPortail")' value='Portail BBB' />
e eu faria o seguine para o token:
public ActionResult Index(){ var viewmodel = new SuaViewModel { Token = _webService.GetToken() } return View(viewmodel); }
http://www.linkedin.com/pub/murilo-kunze/44/191/455
- Marcado como Resposta William John Adam TrindadeModerator quinta-feira, 22 de novembro de 2012 22:29
Todas as Respostas
-
Usando ViewModel parece ser mais facil (apesar que eu vejo isso mais como funçao do controller)
Fiz assim, no viw model criei uma propriedade:
public string AdressPortail { get { string addressToken = "http://llllllllllll.net/pdep/modules/psychoResults/?secret_key=0x0x0x0x0x0x0x0x"; WebClient client = new WebClient(); Byte[] myDatabuffer = client.DownloadData(addressToken); Encoding ascii = Encoding.ASCII; string token = ascii.GetString(myDatabuffer); string adressPortail = "http://llllllllllllll.net/pdep/modules/psychoResults/?token=" + token + "&noFiche=" + Dossier_ID_Depart.ToString(); return adressPortail; } }
O problema é que na view eu nao consigo usar como ref de um input. Estou tentando fazer assim:
<INPUT Type='button' OnClick='window.open(@Model.AdressPortail)' value='Portail BBB' />
É obvio que nao funciona.. Como fazer?
Obrigado.
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
Sogi informatique ltée -
Tenta colocar o enredeço entre aspas:
<INPUT Type='button' OnClick='window.open("@Model.AdressPortail")' value='Portail BBB' />
e eu faria o seguine para o token:
public ActionResult Index(){ var viewmodel = new SuaViewModel { Token = _webService.GetToken() } return View(viewmodel); }
http://www.linkedin.com/pub/murilo-kunze/44/191/455
- Marcado como Resposta William John Adam TrindadeModerator quinta-feira, 22 de novembro de 2012 22:29
-
Ok..
Realmente. No controller alimentando a ViewModel faz mais sentido. Analizando o model, o endereço vem correto, mas ainda estou tendo problemas em usar a URL que esta no ViewModel. A IDE diz que tem problemas:
Obrigado mais uma vez.
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
Sogi informatique ltée -
Ok.. A IDE nao gosta, mas funciona... :)
Murilo Kunze pra MVP de MVC já!
Obrigado
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
Sogi informatique ltée -
-