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

 

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

refresh-reload a page / νεα καταχώρηση

Îåêßíçóå áðü ôï ìÝëïò Scientist. Τελευταία δημοσίευση από το μέλος anjelinio στις 18-10-2007, 15:33. Υπάρχουν 1 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  18-10-2007, 15:00 36365

    refresh-reload a page / νεα καταχώρηση

    εχω φτιαξει μια εφαρμογή σε VS2003 όπου κάνω καταχωρήσεις. Όταν τελειώνει η καταχώρηση, βγαίνει ένα μήνυμα στο κάτω μέρος της σελίδας για επιτυχή ή μη καταχώρηση. Έχω φτιάξει ένα κουμπι και για νέα καταχώρηση. Αυτό πρέπει να φέρνει από την αρχή τη σελίδα, όπου ο χρήστης ξαναβάζει τα δεδομένα και ξανακαταχωρεί. Όμως εφόσον εχω πατήσει το κουμπί "Νέα Καταχώρηση", δεν μου καταχωρεί. 

    Ορίστε και ο κώδικας

    Imports System.Data.SqlClient

    Public Class SubmitXGLPage

    Inherits System.Web.UI.Page...

    #Region ..

    #End Region

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

    'Put user code to initialize the page here

    If CStr(Session.Item("Verified")) <> "True" Then

    Server.Transfer("LoginAppPage.aspx")

    Exit Sub

    End If

    Dim dtNow As DateTime = DateTime.Now

    LblSysDate.Text = dtNow.ToString("dd/MM/yyyy")

    Me.LblUser.Text = Session.Item("SEC_Name")

     

    If Not Page.IsPostBack Then

    Me.ddl1o.DataBind()

    Me.ddl2o.DataBind()

    Me.ddl3o.DataBind()

    Me.ddlCC.DataBind()

     

    Dim Command1 As SqlClient.SqlCommand

    Command1 = GetCommand("web_get1mio")

    Command1.Connection.Open()

    ddl1o.DataValueField = "AccountCode1"

    ddl1o.DataTextField = "Account1"

    ddl1o.DataSource = Command1.ExecuteReader

    ddl1o.DataBind()

    ddl1o.Items.Insert(0, "-- Παρακαλώ επιλέξτε --")

    Command1.Dispose()

     

    Dim Command4 As SqlClient.SqlCommand

    Command4 = GetCommand("web_getCC")

    Command4.Connection.Open()

    ddlCC.DataValueField = "CCCode"

    ddlCC.DataTextField = "CC"

    ddlCC.DataSource = Command4.ExecuteReader

    ddlCC.DataBind()

    Command4.Dispose()

    End If

    End Sub

     

    Private Sub LkBtnBack_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LkBtnBack.Click

    Response.Redirect("UserPage.aspx")

    End Sub

     

    Private Sub BtnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnClear.Click

    Response.Redirect("SubmitXGLPage.aspx")

    End Sub

     

    Private Sub BtnNewSubmit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnNewSubmit.Click

    Response.Redirect("SubmitXGLPage.aspx")

    End Sub

     

    Private Sub BtnSubmit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSubmit.Click

    If Me.ddl1o.SelectedItem.Value = "" Then Exit Sub

    If Me.ddl2o.SelectedItem.Value = "" Then Exit Sub

    If Me.ddl3o.SelectedItem.Value = "" Then Exit Sub

    If Me.ddlCC.SelectedItem.Value = "" Then Exit Sub

    If Me.txtDate.Text = "" Then Exit Sub

    If Me.txtXrewsh.Text = "" Then Exit Sub

    If Me.txtPistwsh.Text = "" Then Exit Sub

     

    Dim Cmd As SqlClient.SqlCommand = Database.GetCommand("dbo.[web_AccountInsert]")

    Cmd.Parameters.Add("@GL_KOD1", SqlDbType.NChar, 2).Value = Me.ddl1o.SelectedValue

    Cmd.Parameters.Add("@GL_KOD2", SqlDbType.NChar, 4).Value = Me.ddl2o.SelectedValue

    Cmd.Parameters.Add("@GL_KOD3", SqlDbType.NChar, 8).Value = Me.ddl3o.SelectedValue

    Cmd.Parameters.Add("@CCCode", SqlDbType.Int).Value = Me.ddlCC.SelectedValue

    Cmd.Parameters.Add("@XDATE_C", SqlDbType.VarChar, 10).Value = Me.txtDate.Text

    Cmd.Parameters.Add("@XREWSH_C", SqlDbType.VarChar, 12).Value = Me.txtXrewsh.Text

    Cmd.Parameters.Add("@PISTWSH_C", SqlDbType.VarChar, 12).Value = Me.txtPistwsh.Text

    Cmd.Parameters.Add("@XUSERID", SqlDbType.Int).Value = Session.Item("SEC_ID")

     

    Cmd.Parameters.Add("@ERRORMSG", SqlDbType.NVarChar, 250)

    Cmd.Parameters("@ERRORMSG").Direction = ParameterDirection.Output

     

    Database.CommandExecuteNonQuery(Cmd, True)

    Me.ddl1o.SelectedItem.Value = ""

    Me.ddl2o.SelectedItem.Value = ""

    Me.ddl3o.SelectedItem.Value = ""

    Me.ddlCC.SelectedItem.Value = ""

    Me.txtDate.Text = ""

    Me.txtXrewsh.Text = ""

    Me.txtPistwsh.Text = ""

     

    ErrorMsg_.Text = Cmd.Parameters("@ERRORMSG").Value

    End Sub

     

    Private Sub ddl1o_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ddl1o.SelectedIndexChanged

    Dim Command2 As SqlClient.SqlCommand

    Command2 = GetCommand("web_get2mio")

    Command2.Connection.Open()

    Command2.Parameters.Add("@AccountCode1", SqlDbType.VarChar, 2).Value = Me.ddl1o.SelectedValue

    ddl2o.DataValueField = "AccountCode2"

    ddl2o.DataTextField = "Account2"

    ddl2o.DataSource = Command2.ExecuteReader

    ddl2o.DataBind()

    Command2.Dispose()

    Dim Command3 As SqlClient.SqlCommand

    Command3 = GetCommand("web_get3mio")

    Command3.Connection.Open()

    Command3.Parameters.Add("@AccountCode2", SqlDbType.VarChar, 4).Value = Me.ddl2o.SelectedValue

    ddl3o.DataValueField = "AccountCode3"

    ddl3o.DataTextField = "Account3"

    ddl3o.DataSource = Command3.ExecuteReader

    ddl3o.DataBind()

    Command3.Dispose()

    End Sub

     

    Private Sub ddl2o_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ddl2o.SelectedIndexChanged

    Dim Command3 As SqlClient.SqlCommand

    Command3 = GetCommand("web_get3mio")

    Command3.Connection.Open()

    Command3.Parameters.Add("@AccountCode2", SqlDbType.VarChar, 4).Value = Me.ddl2o.SelectedValue

    ddl3o.DataValueField = "AccountCode3"

    ddl3o.DataTextField = "Account3"

    ddl3o.DataSource = Command3.ExecuteReader

    ddl3o.DataBind()

    Command3.Dispose()

    End Sub

     

    Private Sub ddl3o_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ddl3o.SelectedIndexChanged

    End Sub

    End Class

     

    τι κανω λάθος;

    ευχαριστω εκ των προτερων

  •  18-10-2007, 15:33 36366 σε απάντηση της 36365

    Απ: refresh-reload a page / νεα καταχώρηση

    Scientist:

    Όμως εφόσον εχω πατήσει το κουμπί "Νέα Καταχώρηση", δεν μου καταχωρεί.



    Πρώτα απ' όλα ... το παραπάνω δε μας λέει και πολλά. Με μια γρήγορα ματιά ο κώδικας δε φαίνεται να έχει κάτι λάθος μέσα, οπότε .. ίσως εννοείς εσύ κάτι άλλο απο αυτό που κατάλαβα εγώ.

    Αυτό που κατάλαβα εγώ, είναι οτι μετά την πρώτη εισαγωγή / καταχώρηση, και αφού πατήσεις το κουμπί "νέα καταχώρηση" και πας απο την αρχή στη σελίδα, δε σου σώζει μόλις πατήσεις "Καταχώρηση".
    Αυτό συμβαίνει;

    Αν συμβαίνει αυτό ... γιατί δε βάζεις ένα breakpoint στο handler του BtnSubmit.Click (Private Sub BtnSubmit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSubmit.Click) να δείς τι γίνεται; Γράφεις σε VS2003 ... άρα έχεις debug.

    Κάνε ενα debug run, κοίτα λίγο HTML reference στο internet, κι αν ακόμη δε βρείς τι παίζει ... εδώ είμαστε.


    Υ.Γ. ... έχεις 2 πρακτικές μέσα στον κώδικά σου, που είναι πραγματικά "ανάθεμα" για τον server-side developer. Redirect μέσω postback ( γιατί δε βάζεις ένα html button που στο click του κάνει document.location = "
    SubmitXGLPage.aspx"; ) και το ίδιο - postback / redirect - για να καθαρίσεις τα πεδία της φόρμας ( Υπαρχει <input type="reset" ... /> το οποίο κάνει ακριβώς αυτό, χωρίς postbacks / redirect κτλ. κτλ. )



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