Update z Datalistu bez databindingu   otázka

ASP.NET WebForms

Omlouvám se za začátečnický dotaz, asi jusem přehlédl něco základního, nicméně:

Událost Update mi spouští funkci DL_ItemCommand, ve které chci provést insert. Jenže načtené hodnoty jsou nezměněné. Kde mám chybu?

Diky za pomoc

  Protected Sub DL_T_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles DL_T.ItemCommand
        Dim T_ID As TextBox = CType(e.Item.FindControl("TB_id"), TextBox)
        Dim T_Text As TextBox = CType(e.Item.FindControl("TB_text"), TextBox)
        Select Case e.CommandName
            Case "Edit"
                DL_T.EditItemIndex = e.Item.ItemIndex
                DL_T.DataBind()
            Case "Update"
                Dim test As String = e.Item.FindControl("T_Text"), TextBox).Text 'T_Text.Text
                MsgBox("Test (" & test & ")")
'Dim insert as string ...
            Case "Cancel"
                LB_Err.Text = "CaseCancel"
                DL_T.EditItemIndex = -1
                DL_T.DataBind()
        End Select

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Pustťe si debug mód a podívejte se proč k tomu dochází.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Kde všude voláte DataBind na tom DataListu?

Pokud ho máte v Page_Load, musíte jej provádět jen tehdy, pokud Page.IsPostBack je False. Jinak si obsah DataListu při každém postbacku přepíšete tím, co je v databázi - událost ItemCommand se vyvolává až po Page_Load.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback