Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Help για ευρεση λογικης λυσης για το AJAX, ASP.NET και Sql Server

Îåêßíçóå áðü ôï ìÝëïò kallileo. Τελευταία δημοσίευση από το μέλος kallileo στις 12-06-2007, 16:55. Υπάρχουν 0 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  12-06-2007, 16:55 32874

    Help για ευρεση λογικης λυσης για το AJAX, ASP.NET και Sql Server

    Εχω καποια botton control πανω στην σελιδα και αρχικοποιούνται οταν φορτωνει η σελιδα με τον εξης κώδικα:
     

    Sub Page_Load(ByVal Sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load

    If Not Page.IsPostBack Then

    SQLconn.Open()

    Dim SelectCmd1 As New SqlCommand("SELECT [rawvalue] FROM [Data] WHERE (timestamp=(SELECT MAX(timestamp) FROM [Data]WHERE(name = 's1'))) AND (name='s1')", SQLconn)

    SelectCmd1.CommandType = CommandType.Text

    Dim result1 As Integer

    Dim myDataReader1 As SqlDataReader

    myDataReader1 = SelectCmd1.ExecuteReader()

    myDataReader1.Read()

    result1 = myDataReader1.GetInt32(0)

    SQLconn.Close()

    ChangeButton1(result1)

    End If

    End Sub

     

    Δεν ξερω ποσο σωστος ειναι αλλα δουλευει αψογα για την περιπτωση μου.

    Μετα απο αυτο πατωντας πανω στα control γραφω σε εναν πίνακα τιμες -1 και 0. Κατι το οποιο παλι γινεται σωστα.

    Sub ChangeButton1(ByVal Status As Integer)

    If Status = -1 Then

    Label1.Text = "ON"

    OnOff1.Style.Value = "background-image: url(../ImgContr/1.png);"

    Else

    Label1.Text = "OFF"

    OnOff1.Style.Value = "background-image: url(../ImgContr/2.png);"

    End If

    End Sub

    Sub OnOff_Click1(ByVal Sender As Object, ByVal e As System.EventArgs)

    Dim updateCMD As SqlCommand

    Dim query As String

    If Label1.Text = "ON" Then

    query = "UPDATE [Triggers] SET [rawvalue] = 'False' WHERE [name] = 's1'"

    ChangeButton1(0)

    Else

    query = "UPDATE [Triggers] SET [rawvalue] = 'True' WHERE [name] = 's1'"

    ChangeButton1(-1)

    End If

    updateCMD = New SqlCommand(query, SQLconn)

    updateCMD.CommandType = CommandType.Text

    SQLconn.Open()

    updateCMD.ExecuteNonQuery()

    SQLconn.Close()

    End Sub

     

    Αυτο που προσπαθησα και ακομα προσπαθω ειναι βαλω Ajax. Χρησιμοποιώντας τα Ajax Extentions που κυκλοφόρησε η Microsoft και συγκεκριμενα το Update Panel μεσα στο οποια εβαλα τα controls button και label. Γραφω στην βάση αλλα ταυτοχρονα αλλα και τα background του button και το text του label.

    To θεμα ειναι ότι στον πινακα όπου γινεται η αρχικοποιηση γραφονται οι τιμες απο ενα hardware ελεγκτή. Οποτε πρεπει να κάνω refresh την σελιδα για να δω αν εισαχθησαν νεα δεδομενα. Στα documention για το AJAX ειδα οτι γινεται να διαβαζονται οι τιμες αυτες χαρη σε ενα timer control που ενεργοποιεί το onTick event των Triggers του Update Panel. Έτσι π.χ ανα 3-4 δευτερα θα γινεται polling του πινακα με τις τιμες για την αρχικοποιηση.

    Αρα πρεπει να καλω την συναρτηση Page_Load που κανει την αρχικοποιήση καθε 3-4 δευτερα οταν θα ενεργοποειται το onTick. Το Page_load ειναι όμως event και εχω και το If Not Page.IsPostBack.

    Αυτο σημαινει δηλαδη οτι πρέπει να έχω την Page_Load για οταν φορτωνει για πρωτη φορα η σελιδα και μια ιδια συναρτηση π.χ Refresh που θα καλείτε αν απο το OnTick?

    Αν υπαρχει καποιος που καταλαβε τι λεω ας μας πει την γνωμη του?

Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems