Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881

    Sito multilingua - resource string in confirm

    Altro problemino con i resource files: come devo scrivere il confirm nel clientclick (nel markup) per usare i resource files?

    Provato questi non funzionano (sto facendo prove anche variando gli apici e i doppi apici ma finosra senza successo):
    <button ... OnClientClick="return confirm('<%# Resources.Neword.testoconferma) %>'" />
    <button ... OnClientClick='<%# String.Format("return window.confirm(""{0}""));", Resources.Neword.testoconferma) %>'/>
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  2. #2
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    Non l'ho specificato ma si tratta di button asp, controlli aspnet insomma non html

    Escludiamo possibilmente la definizione dell'onclientclick da codebehind: me lo tengo come ultima spiaggia perchè sennò devo mettere mano a una montagna di controlli

    Intanto non funzionano neanche
    OnClientClick="return confirm('<%=Resources.Neword.testoconferma%>');"
    OnClientClick="return confirm('<%# Resources: Neword.testoconferma) %>');"
    Ultima modifica di supermac; 08-10-2019 a 12:14
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  3. #3
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    il diesis (#) implica un Bind, per funzionare il controllo Button deve stare in un elemento di listing (Gridview, Repeater etc)

    l'altro (%=) è una response.write che evidentemente non va.

    io vedrei innanzitutto se "Resources.Neword.testoconferma" funziona. Anche passandoci con il mouse sopra, Visual Studio dovrebbe dirti "Una stringa simile a... xxxx", è una nuova feature di preview (nel 2017 funziona)

    poi fai una variabile Public in cui metti il valore lato server (una sola volta) e negli apici metti una Response.Write di quella variabile (%=).

    dovrebbe andare, io comunicavo cosi' fra client e server

  4. #4
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    no capito
    codice:
    <asp:Button ID="Button1" runat="server" Text='<%$ Resources:Neword, elimina %>' OnClick="Elimina_Click" OnClientClick="if(!confirm('<%$ Resources:Neword, deleteconf %>'))return false;" />
    In questo caso il testo del bottone viene correttamente interpretato con la lingua della culture corrente mentre il confirm apre un finestrello JS con scritto testualmente <%$ Resources:Neword, deleteconf %>

    Se devo fae una variabile public tanto vale che imposti il clientclick da backend in this way
    codice:
             'nel page load
             conf(DirectCast(e.Item.FindControl("Button1"), Button), Resources.Neword.deleteconf)
    
       Public Shared Sub conf(ByVal obj As Object, ByVal str As String)
          obj.onclientclick = String.Format("if(!confirm('{0}')) return false;", str)
       End Sub
    Solo che devo andare a rimuovere gli onclientclick da markup e a chiamare la funzione conf per tutto il centinaio di controlli che ho in giro per l'applicazione... pensndo al lavoro di concetto che mi aspetta citerei Primo Levi
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  5. #5
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    Pardon, non è nel pageload ma quello è preso da un repeater (e è un RepeaterItemEventArgs)
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  6. #6
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Ok, comunque il Bind permette il parse di un valore --che fa parte del datasource--.
    Che io sappia, non puoi prendere un valore qualsiasi dalla pagina o dalla Solution. Parlo del diesis (#).
    Si puo' fare solo lato server dall'evento ItemDataBound che è l'ideale oppure dove si vuole, dopo il bind del repeater/datagrid/gridview.

    Comunque, per letteratura, ho usato le risorse nell'ultimo progetto per identificare gli ID dei controlli e rispettavo 2 cose:
    - il file di risorse era nella cartella "Properties" del progetto
    - ottenevo la stringa referenziando interamente il Path, cioe' Progetto.Properties.Resources.StringaRisorsa per ottenere il valore

    Immagini:
    C#
    Cattura.jpg

    file risorse:
    res.jpg



    Per completezza, cio' che stai usando tu, il dollaro ($) identifica una espressione, che evidentemente funziona per il testo ma non viene renderizzata per l'onclientclick per motivi di successione degli eventi.

    Non sono stato molto utile lo so, ma ti linko un thread che mi fece conoscere la differenza, una volta e per tutte, fra i vari
    <%char %>

    those tags can be hard to search for since the are generally discarded by search engines as noise...
    here are some helpful links for you on the various tags.

    <% %> An embedded code block is server code that executes during the page's render phase. The code in the block can execute programming statements and call functions in the current page class. http://msdn.microsoft.com/en-gb/library/ms178135(vs.80).aspx


    <%= %> most useful for displaying single pieces of information. http://msdn.microsoft.com/en-us/library/6dwsdcf5(VS.71).aspx


    <%# %> Data Binding Expression Syntax. http://msdn.microsoft.com/en-us/library/bda9bbfx.aspx


    <%$ %> ASP.NET Expression. http://msdn.microsoft.com/en-us/library/d5bd1tad.aspx


    <%@ %> Directive Syntax. http://msdn.microsoft.com/en-us/library/xz702w3e(VS.80).aspx


    <%-- --%> Server-Side Comments. http://msdn.microsoft.com/en-US/library/4acf8afk.aspx


    <%: %> Like <%= %> But HtmlEncodes the output (new with Asp.Net 4). http://weblogs.asp.net/scottgu/archi...net-mvc-2.aspx
    Ultima modifica di djciko; 08-10-2019 a 16:34

  7. #7
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Ok, comunque il Bind permette il parse di un valore --che fa parte del datasource--.
    Che io sappia, non puoi prendere un valore qualsiasi dalla pagina o dalla Solution. Parlo del diesis (#).


    Comunque, per letteratura, ho usato le risorse nell'ultimo progetto per identificare gli ID dei controlli e rispettavo 2 cose:
    - il file di risorse era nella cartella "Properties" del progetto
    - ottenevo la stringa referenziando interamente il Path, cioe' Progetto.Properties.Resources.StringaRisorsa per ottenere il valore


    Immagini (un po' piccole ma si capisce)

    riga C# per prendere il valore:
    Cattura.jpg

    file risorse aperto:
    res.jpg



    Per completezza, cio' che stai usando tu, il dollaro ($) identifica una espressione, che evidentemente funziona per il testo ma non viene renderizzata per l'onclientclick per motivi di successione degli eventi.

    Non sono stato molto utile lo so, ma ti linko un thread che mi fece conoscere la differenza, una volta e per tutte, fra i vari
    <%char %>

    <% %> An embedded code block is server code that executes during the page's render phase. The code in the block can execute programming statements and call functions in the current page class. http://msdn.microsoft.com/en-gb/library/ms178135(vs.80).aspx

    <%= %> most useful for displaying single pieces of information. http://msdn.microsoft.com/en-us/library/6dwsdcf5(VS.71).aspx

    <%# %> Data Binding Expression Syntax. http://msdn.microsoft.com/en-us/library/bda9bbfx.aspx

    <%$ %> ASP.NET Expression. http://msdn.microsoft.com/en-us/library/d5bd1tad.aspx

    <%@ %> Directive Syntax. http://msdn.microsoft.com/en-us/library/xz702w3e(VS.80).aspx

    <%-- --%> Server-Side Comments. http://msdn.microsoft.com/en-US/library/4acf8afk.aspx

    <%: %> Like <%= %> But HtmlEncodes the output (new with Asp.Net 4). http://weblogs.asp.net/scottgu/archi...net-mvc-2.aspx

  8. #8
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    Quote Originariamente inviata da djciko Visualizza il messaggio
    Comunque, per letteratura, ho usato le risorse nell'ultimo progetto per identificare gli ID dei controlli e rispettavo 2 cose:
    - il file di risorse era nella cartella "Properties" del progetto
    - ottenevo la stringa referenziando interamente il Path, cioe' Progetto.Properties.Resources.StringaRisorsa per ottenere il valore
    ...
    Non sono stato molto utile lo so, ma ti linko un thread che mi fece conoscere la differenza, una volta e per tutte, fra i vari
    <%char %>
    Io sto usando simply la cartella ASPNET APP_GlobalResources e i files ivi contenuti sono direttamente disponibili nelle pagine senza il path.

    Al contrario, sempre utile e istruttivo... avevo imparato all'epoca i significati dei tag ma sono un pessimo scuolaro, quindi un refresh va sempre bene
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  9. #9
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    vedi dal code inspector del browser (F12) come ti ha settato le cose

    e' strano che lo faccia per il text e non per l'istruzione a fianco. che abbiano tempistiche di rendering diverse ?
    (parlo del text e dell'onclientclick del bottone)


    fai sapere, ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.