none
MVC 4 - Conversao Asp.Net (WebForms) RRS feed

  • 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

    quinta-feira, 22 de novembro de 2012 20:10
    Moderador

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

    quinta-feira, 22 de novembro de 2012 21:58

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

    quinta-feira, 22 de novembro de 2012 21:09
    Moderador
  • 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

    quinta-feira, 22 de novembro de 2012 21:58
  • 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

    quinta-feira, 22 de novembro de 2012 22:19
    Moderador
  • 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

    quinta-feira, 22 de novembro de 2012 22:22
    Moderador
  • Acho que isso é normal William.

    Em tempo de execução vai funcionar.


    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    quinta-feira, 22 de novembro de 2012 22:26
  • Falta muito pra MVP ainda hehe.


    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    quinta-feira, 22 de novembro de 2012 22:30