270 messaggi dal 20 maggio 2001
Considerando questo elementarissimo Metodo:
public partial class _default : System.Web.UI.Page
    {
        protected void Button1_Click(object sender, EventArgs e)
        {
            divProva.InnerHtml = "<b>NomeProva</b>";
        }
    }


Vorrei fare in modo che al posto del nome "NomeProva", il dato venisse prelevato da una textbox. Ho provato, ma mi dice che il testo da me inserito(<b>prova</b>) potrebbe essere pericoloso(il messaggio non è esattamente questo, ma il significato si capisce). Qualcuno potrebbe darmi qualche suggerimento?
354 messaggi dal 13 marzo 2013
Ciao io ho usato ancora la proprietà InnerHtml senza problemi, magari per qualche sorta di protezione si teme che tramite la textbox tu possa inserire pezzi di codice che, se eseguiti, potrebbero scatenare operazioni pericolose.
Hai provato a scavalcare questo problema mettendo il risultato della textbox in una stringa e successivamente la stringa nell'InnerHtml?
547 messaggi dal 24 maggio 2002
Contributi
Credo che il problema sia nel post del dato della TexBox che, se ho capito bene dovrebbe essere "<b>Testo</b>"; in questo caso è proprio la struttura .net che blocca questo tipo di dato perché pericoloso, se passa <b> passa anche <script..., con tutto quello che ne consegue.

Puoi disabilitare il controllo impostando ValidateRequest="false" per la pagina, ma non te lo consiglio.

Marco.
270 messaggi dal 20 maggio 2001
PR17 ha scritto:

Hai provato a scavalcare questo problema mettendo il risultato della textbox in una stringa e successivamente la stringa nell'InnerHtml?

Ciao! No... non ho fatto questa prova... grazie per il suggerimento! :)
270 messaggi dal 20 maggio 2001
Avevo già letto di utilizzare la direttiva ValidateRequest="false", ma vorrei prima sapere se esiste una modalità "più elegante", evitando di compromettere la sicurezza dell'applicazione. Ma Server.HTMLDecode e Server.HTMLEncode non potrebbero fare al mio caso?
270 messaggi dal 20 maggio 2001
Nada... non va!

 public partial class _default : System.Web.UI.Page
    {

        protected void Button1_Click(object sender, EventArgs e)
        {
            string valore = TextBox1.Text;
            
            divProva.InnerHtml = Server.HtmlEncode(valore);
        }
    }
354 messaggi dal 13 marzo 2013
Mi sa che o la risolvi mettendo la ValidateRequest="false" a tuo rischio e pericolo oppure se vuoi inserire dei tag non vedo (o meglio non conosco) altra soluzione. Magari qualcuno più esperto di me può consigliarti qualcosa di più elegante e più sicuro
270 messaggi dal 20 maggio 2001
PR17 ha scritto:
Mi sa che o la risolvi mettendo la ValidateRequest="false" a tuo rischio e pericolo oppure se vuoi inserire dei tag non vedo (o meglio non conosco) altra soluzione. Magari qualcuno più esperto di me può consigliarti qualcosa di più elegante e più sicuro

La migliore soluzione, senza compromettere la sicurezza dell'app, sembrerebbe essere questa:http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/HTMLEditor/HTMLEditor.aspx

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.