Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Form inserimento, visualizzazione e modifica in un unico aspx

    Ciao ragazzi

    Avrei bisogno di una informazione,
    vi chiedo prima il miracolo, esiste qualche strumento o combinazione di strumenti per sfruttare al meglio il postback.

    1) Form pronto per inserimento
    2) Effettuato l'inserimento visualizza come label i dati al posto delle textbox

    Quindi invece di passarmi i dati tra le pagine, vorrei che funzionasse tutto in una.

    Come se fa?

    Mi potreste segnalare una guida o un modo per farlo?

    Grazie, se il messaggio non ha molto senso vuol dire che è stata una settimana pesante e come vedete non è ancora finita

  2. #2
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419
    Se sei pratico di .net la soluzione migliore è fare l'override di un textbox creandoti un controllo personalizzato.
    In base al valore di una nuova property, intercetti il render e in base a quello che metti nella nuova property dopo l'inserimento, fai scrivere un literal al posto di un textbox.
    Se non sei pratico, non mi addentro maggiormente nella spiegazione perchè la cosa sarebbe lunghettina.... Ed è meglio trovare un'altra soluzione.
    Quella sopra è quella che uso io.

    Ciao
    Legnetto

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da Legnetto
    Se sei pratico di .net la soluzione migliore è fare l'override di un textbox creandoti un controllo personalizzato.
    In base al valore di una nuova property, intercetti il render e in base a quello che metti nella nuova property dopo l'inserimento, fai scrivere un literal al posto di un textbox.
    Se non sei pratico, non mi addentro maggiormente nella spiegazione perchè la cosa sarebbe lunghettina.... Ed è meglio trovare un'altra soluzione.
    Quella sopra è quella che uso io.

    Ciao
    Legnetto
    interessante ma solo per i più bravi . Io mi sono accontentato di modificare la proprietà readonly del textbox: funzionicchia
    Pietro

  4. #4
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419
    Originariamente inviato da pietro09
    interessante ma solo per i più bravi . Io mi sono accontentato di modificare la proprietà readonly del textbox: funzionicchia
    Guarda che è più facile di quello che si pensa. Io ho il difetto che non commento niente ma questo è un textbox riscritto che fa quello che chiede l'amico Maurizio.
    codice:
    Imports System
    Imports System.IO
    Imports System.Drawing
    Imports System.Web.UI
    Imports System.Web.UI.WebControls
    Imports System.Data
    Imports System.Data.SqlClient
    Imports System.Web.SessionState
    Imports Microsoft.VisualBasic
    Imports System.Web
    Imports System.Configuration
    Imports System.Collections.Specialized
    Imports System.ComponentModel
    Imports System.Security.Permissions
    
    
    Public Class Text_Box : Inherits TextBox
        Private lit1 As Literal
        Private Testo1 As TextBox
        Public Sub New()
            MyBase.New()
        End Sub
    
        Public Property Abilitato() As Boolean
            Get
                Dim r As Object = ViewState("Abilitato")
                If IsNothing(r) Then
                    r = True
                Else
                    Return CBool(r)
                End If
                Return CBool(r)
            End Get
            Set(ByVal Value As Boolean)
                ViewState("Abilitato") = Value
            End Set
        End Property
    
        Public Property Opcode() As Long
            Get
                Return ViewState("Opcode")
            End Get
            Set(ByVal Value As Long)
                ViewState("Opcode") = Value
            End Set
        End Property
    
        Public Property Def() As String
            Get
                Return ViewState("Def")
            End Get
            Set(ByVal Value As String)
                ViewState("Def") = Value
            End Set
        End Property
    
        Protected Overrides Sub CreateChildControls()
            If Not TextMode = TextBoxMode.MultiLine Then
                lit1 = New Literal
                lit1.Text = Text
                If Opcode = 2 Then
                    If Def <> "" Then
                        Text = Def
                    Else
                        Text = ""
                    End If
                End If
            Else
                If Opcode = 2 Then
                    Text = ""
                Else
                    Text = Replace(Text, "&quot;", "''")
                End If
                TextMode = TextBoxMode.MultiLine
                Font.Name = "Verdana"
                Columns = Columns
                Rows = Rows
                If Opcode = 0 Then
                    BorderStyle = Me.BorderStyle = WebControls.BorderStyle.None
                    BackColor = Color.Transparent
                    Me.ReadOnly = True
                End If
            End If
            If Not Abilitato Then
                Enabled = False
            End If
        End Sub
    
        Protected Overrides Sub Render(ByVal writer As HtmlTextWriter)
            If Opcode = 0 Then
                If Not TextMode = TextBoxMode.MultiLine Then
                    lit1.RenderControl(writer)
                Else
                    If Abilitato Then
                        If Text <> "" Then
                            If Len(Text) > Me.Columns Then
                                MyBase.Render(writer)
                            Else
                                lit1 = New Literal
                                lit1.Text = Text
                                lit1.RenderControl(writer)
                            End If
                        End If
                    Else
                        lit1.RenderControl(writer)
                    End If
                End If
            Else
                If Abilitato Then
                    MyBase.Render(writer)
                Else
                    lit1.RenderControl(writer)
                End If
            End If
        End Sub
    
    End Class
    Le property sono:
    Abilitato: Rende in sola lettura(Read only)
    Opcode: Se=0 Riorna un literal con il valore
    Se=1 ritorna un textbox normale
    Se=2 ritorna un textbox con il testo impostato nella property "Def".
    Per tutto il resto è un textbox normale.
    Io ho messo il controllo, poi però va compilato in una dll per utilizzarlo.
    Chiaramente il textbox è il più semplice dei controlli presenti normalmente in una pagina web, dai listbox in su la situazione si complica un pochettino.
    P.S.
    Questo controllo l'ho scritto con textpad (non c'era ancora vs.net) quando c'era ancora la beta uno del primo framework e, la prima volta l'ho compilato chiaramente con il compilatore a riga di comando....
    Ciao
    Legnetto

  5. #5
    proverò entrambi i modi grazie ragazzi

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 © 2024 vBulletin Solutions, Inc. All rights reserved.