Costruzione di una stringa in C#

giovedì 10 aprile 2008 - 18.18

bluland Profilo | Guru

Salve,

In una cella di un datarow devo mettere il seguente pezzo di codice


dr["Evento"] = "<a href=# onclick=ViewTests('" + Mtype + "','" + sn + "')>Test</a>";


solo che cosi anche se la sintassi e' giusta al click sulla cella del datagrid non mi richiama la funzione.


ho pensato perche la sintassi giusta sarebbe mettendo le virgolette prima e dopo la funzione tipo:



dr["Evento"] = "<a href=# onclick= "ViewTests('" + Mtype + "','" + sn + "')">Test</a>";

ma ovviamente non e' piu corretta la sintassi...
Idee?

Saluti
--------------------
Vincenzo PESANTE
System Engineer

alx_81 Profilo | Guru

>Salve,
Ciao!

>Idee?
Per fare quello che ti serve devi ottenere una stringa fatta nel seguente modo:

Utilizzando i caratteri di escape
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Imponendo alla stringa di non usare caratteri di escape, raddoppiando le virgolette
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

ricordati di utilizzare i metodi dell'oggetto string e non di concatenare come facevi nel tuo esempio..
Ciao!
Alx81 =)

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

bluland Profilo | Guru

Avevo fatto in questo modo:

dr["Evento"] = "<a href=# onclick=" + "/u0022 " + "ViewTests('{0}','{1}')\">Test</a>", MyType, sn);


quindi fornendo l'unicode delle virgolette, che ne pensi di quest'altra soluzione?

Ciao



A proposito ho notato che hai messo le graffe per le variabili, perche non in questo modo?

'" + sn + "'


--------------------
Vincenzo PESANTE
System Engineer

alx_81 Profilo | Guru

>Avevo fatto in questo modo:
>
>dr["Evento"] = "<a href=# onclick=" + "/u0022 " + "ViewTests('{0}','{1}')\">Test</a>",
>MyType, sn);
>quindi fornendo l'unicode delle virgolette, che ne pensi di quest'altra
>soluzione?
è comunque un carattere di escape.

>A proposito ho notato che hai messo le graffe per le variabili,
>perche non in questo modo?
>'" + sn + "'
No, forse non hai letto bene la soluzione.. Ho utilizzato la String.Format, ovvero un metodo dell'oggetto String per gestire problemi di questo tipo.
Il tuo non funziona, almeno quello che hai postato qui
Sono metodi fatti apposta che hanno incrementi di prestazioni, ma soprattutto di leggibilità ed in generale chiarezza. Pensa solo spostare i parametri.. basta cambiare i placeholder ma l'elenco dei parametri è comunque lo stesso

Eccoti la reference:
http://msdn2.microsoft.com/it-it/library/system.string.format(VS.80).aspx

Il vero vantaggio lo ottieni con lo StringBuilder:
http://msdn2.microsoft.com/en-us/library/system.text.stringbuilder.aspx

>
>
>--------------------
>Vincenzo PESANTE
>System Engineer

Alx81 =)

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

bluland Profilo | Guru

>>Avevo fatto in questo modo:
>>
>>dr["Evento"] = "<a href=# onclick=" + "/u0022 " + "ViewTests('{0}','{1}')\">Test</a>",
>>MyType, sn);

>>quindi fornendo l'unicode delle virgolette, che ne pensi di quest'altra
>>soluzione?
>è comunque un carattere di escape.
>
>>A proposito ho notato che hai messo le graffe per le variabili,
>>perche non in questo modo?
>>'" + sn + "'
>No, forse non hai letto bene la soluzione.. Ho utilizzato la
>String.Format, ovvero un metodo dell'oggetto String per gestire
>problemi di questo tipo.
>Il tuo non funziona, almeno quello che hai postato qui

hai ragione l'ho scritto al volo quello che ho nel codice è diverso, ed era funzionante

>Sono metodi fatti apposta che hanno incrementi di prestazioni,
quello che cercavo!

>ma soprattutto di leggibilità ed in generale chiarezza. Pensa
>solo spostare i parametri.. basta cambiare i placeholder ma l'elenco
>dei parametri è comunque lo stesso
Questa parte mi mancava!

>
>Eccoti la reference:
>http://msdn2.microsoft.com/it-it/library/system.string.format(VS.80).aspx
>
>Il vero vantaggio lo ottieni con lo StringBuilder:
>http://msdn2.microsoft.com/en-us/library/system.text.stringbuilder.aspx
>

Corro a leggerli

>>
>>

A proposito mi serviva un carattere che mi facesse da freccia → ho inserito il carattere unicode come sopra, ci sono altri metodi per fare una cosa del genere?

Ciao


>>--------------------
>>Vincenzo PESANTE
>>System Engineer

>
>Alx81 =)
>
>http://www.alessandroalpi.net
>http://blogs.dotnethell.it/suxstellino
>http://mvp.support.microsoft.com/profile/Alessandro.Alpi
>http://italy.mvps.org

--------------------
Vincenzo PESANTE
System Engineer

alx_81 Profilo | Guru

>Corro a leggerli
>A proposito mi serviva un carattere che mi facesse da freccia
>→ ho inserito il carattere unicode come sopra, ci sono altri
>metodi per fare una cosa del genere?
Non credo, ti serve il codice del carattere..

Alx81 =)

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5