IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Valeur par défaut dans un detailsview


Sujet :

ASP.NET

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Par défaut Valeur par défaut dans un detailsview
    Bonjour,

    dans un detailsview, je désire mettre une valeur par défaut à un TextBox. Cette valeur est dans ma base de données.

    Voici ce que j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:TextBox ID="txtAssuranceJusqua" runat="server" Text='<%#DefaultVal("AssuranceVieJusqua")%>'></asp:TextBox>
    DefautVal me retourne par exemple : 70. Le problème est que lors de l'ajout, même si la valeur par défaut est dans le TextBox, elle ne s'ajoute pas à ma base de données, car il n'y a pas ceci pour y arriver :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Text='<%# Bind("AssuranceJusqua") %>'
    Auriez une autre méthode pour mettre une valeur par défaut dans un TextBox pour ensuite pouvoir l'insérer dans une base de données ?

    merci !

  2. #2
    Membre Expert Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Par défaut
    Pourquoi de pas gérer ta valeur par défaut directement dans ta Base de données ? ou alors sur les couches DAL ou BL (si tu développement en n-couches bien sûr)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Par défaut
    en effet, cela serait possible, mais l'utilisateur désire voir la valeur par défaut lors de l'ajout et peut-être la modifier s'il en a besoin. Le textbox doit donc contenir la valeur.

  4. #4
    Membre Expert
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Par défaut
    Tu n'as qu'à gérer le binding manuellement dans l'événement inserting du DetailsView :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    DetailsView dv=(DetailsView)sender;
    string text=((TextBox)dv.FindControl("txtAssuranceJusqua")).Text;
    e.Values.Add("txtAssuranceJusqua", text);

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Par défaut
    J'ai essayé cette méthode, mais voici l'erreur que je reçois :

    Could not get descriptor for 'txtAssuranceJusqua' expression.
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.InvalidOperationException: Could not get descriptor for 'txtAssuranceJusqua' expression.

    Source Error:

    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
    Object Key ne semble pas valide (pour e.Values.Add(Object key, string)), j'ai essayé en passant directement (TextBox)dv.FindControl("txtAssuranceJusqua")), mais ça ne fonctionne pas non plus. Des idées pourquoi ?

    merci

  6. #6
    Membre Expert
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Par défaut
    A quel moment tu recois l'erreur ?


    peux-t on voir ton fichier aspx stp ?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Par défaut
    Je reçois l'erreur à la ligne : e.Values.Add("txtAssuranceJusqua", text);

    fichier.ascx:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    <%@ Control Language="C#" AutoEventWireup="true" CodeFile="AM_Vie_Control.ascx.cs" Inherits="Produits_Controls_AM_Vie_Control" %>
    <%@ Register Assembly="DataObjects.NET" Namespace="DataObjects.NET.UI" TagPrefix="cc1" %>
    <cc1:DataSource ID="dsProduit" runat="server" ItemTypeName="Pegase.Model.Produit.ProduitAM_Vie" OnDataObjectInserted="dsProduit_DataObjectInserted" SelectServiceTypeName="Pegase.Model.Produit.Services.ProduitServices" />
     
    <fieldset>
        <legend>Information sur le produit</legend>
        <asp:DetailsView ID="dvAssuranceVie" runat="server" AutoGenerateRows="False" DataSourceID="dsProduit" DataKeyNames="Key" OnItemCommand="dvAssuranceVie_ItemCommand" OnItemInserting="dvAssuranceVie_ItemInserting">
            <Fields>
                <asp:TemplateField HeaderText="Date d'émission" SortExpression="DateEmission">
                    <EditItemTemplate>
                        <asp:TextBox ID="txtDateEmission" runat="server" Text='<%# Bind("DateEmission","{0:d}") %>'></asp:TextBox>
                        *
                        <asp:RequiredFieldValidator ControlToValidate="txtDateEmission" ID="txtDateEmissionRequiredFieldValidator" runat="server" Display="Dynamic">Vous devez entrer une date d'émission</asp:RequiredFieldValidator>
                        <asp:RegularExpressionValidator ControlToValidate="txtDateEmission" ValidationExpression="\d{2}-?/?\d{2}-?/?\d{4}" ID="txtDateEmissionRegularExpressionValidator" runat="server" Display="dynamic">La date d'émission doit être selon le format JJ-MM-AAAA ou JJ/MM/AAAA</asp:RegularExpressionValidator>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="lblDateEmission" runat="server" Text='<%# Bind("DateEmission","{0:d}") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Date d'annulation" SortExpression="DateAnnulation">
                    <EditItemTemplate>
                        <asp:TextBox ID="txtDateAnnulation" runat="server" Text='<%# Bind("DateAnnulation","{0:d}") %>'></asp:TextBox>
                        <asp:RegularExpressionValidator ControlToValidate="txtDateAnnulation" ValidationExpression="\d{2}-?/?\d{2}-?/?\d{4}" ID="txtDateAnnulationRegularExpressionValidator" runat="server" Display="dynamic">La date d'annulation doit être selon le format JJ-MM-AAAA ou JJ/MM/AAAA</asp:RegularExpressionValidator>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="lblDateAnnulation" runat="server" Text='<%# Bind("DateAnnulation","{0:d}") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Date d'exonération" SortExpression="DateExoneration">
                    <EditItemTemplate>
                        <asp:TextBox ID="txtDateExoneration" runat="server" Text='<%# Bind("DateExoneration","{0:d}") %>'></asp:TextBox>
                        <asp:RegularExpressionValidator ControlToValidate="txtDateExoneration" ValidationExpression="\d{2}-?/?\d{2}-?/?\d{4}" ID="txtDateExonerationRegularExpressionValidator" runat="server" Display="dynamic">La date d'exonération doit être selon le format JJ-MM-AAAA ou JJ/MM/AAAA</asp:RegularExpressionValidator>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="lblDateExoneration" runat="server" Text='<%# Bind("DateExoneration","{0:d}") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Assurance vie jusqu'à l'âge de" SortExpression="AssuranceJusqua">
                    <EditItemTemplate>
                        <asp:TextBox ID="txtAssuranceJusqua" runat="server" Text='<%# Bind("AssuranceJusqua") %>'></asp:TextBox>*
                        <asp:RequiredFieldValidator ControlToValidate="txtAssuranceJusqua" ID="txtAssuranceJusquaRequiredFieldValidator" runat="server" Display="Dynamic">Vous devez entrer un âge</asp:RequiredFieldValidator>
                    </EditItemTemplate>
                    <InsertItemTemplate>
                        <asp:TextBox ID="txtAssuranceJusqua" runat="server" Text='<%#DefaultVal("AssuranceVieJusqua")%>'></asp:TextBox>*
                        <asp:RequiredFieldValidator ControlToValidate="txtAssuranceJusqua" ID="txtAssuranceJusqua2RequiredFieldValidator" runat="server" Display="Dynamic">Vous devez entrer un âge</asp:RequiredFieldValidator>
                    </InsertItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="lblAssuranceJusqua" runat="server" Text='<%# Bind("AssuranceJusqua") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Montant Participant" SortExpression="AV_Participant">
                    <InsertItemTemplate>
                        <asp:TextBox ID="txtAvParticipant" runat="server" Text='<%#DefaultVal("MontantParticipant")%>'></asp:TextBox>*
                    </InsertItemTemplate>
                    <EditItemTemplate>
                        <asp:TextBox Width="50" MaxLength="30" ID="txtAV_Participant" runat="server" Text='<%# Bind("AV_Participant","{0:0.00}") %>'></asp:TextBox>*
                        <asp:CompareValidator ID="AV_ParticipantTypeValidator" Operator="DataTypeCheck" Display="Dynamic" runat="server" ControlToValidate="txtAV_Participant" ErrorMessage="Le format n'est pas valide" Type="Double"></asp:CompareValidator>
                        <asp:RequiredFieldValidator ControlToValidate="txtAV_Participant" ID="AV_ParticipantRequiredFieldValidator" runat="server" Display="Dynamic">Montant requis</asp:RequiredFieldValidator>
                    </EditItemTemplate>
                </asp:TemplateField>
     
                <asp:TemplateField HeaderText="Montant Conjoint" SortExpression="AV_Conjoint">
                    <EditItemTemplate>
                        <asp:TextBox Width="50" MaxLength="30" ID="txtAV_Conjoint" runat="server" Text='<%# Bind("AV_Conjoint","{0:0.00}") %>'></asp:TextBox>
                        <asp:CompareValidator ID="AV_ConjointTypeValidator" Operator="DataTypeCheck" Display="Dynamic" runat="server" ControlToValidate="txtAV_Conjoint" ErrorMessage="Le format n'est pas valide" Type="Double"></asp:CompareValidator>
                    </EditItemTemplate>
                </asp:TemplateField>
     
                <asp:TemplateField HeaderText="Bénéficiaire Conjoint" SortExpression="BeneficiaireConjoint">
                    <EditItemTemplate>
                        <asp:TextBox ID="txtBeneficiaireConjoint" runat="server" Text='<%# Bind("BeneficiaireConjoint") %>'></asp:TextBox>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="lblBeneficiaireConjoint" runat="server" Text='<%# Bind("BeneficiaireConjoint") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
     
                <asp:TemplateField HeaderText="Montant Enfant" SortExpression="AV_Enfants">
                    <EditItemTemplate>
                        <asp:TextBox Width="50" MaxLength="30" ID="txtAV_Enfants" runat="server" Text='<%# Bind("AV_Enfants","{0:0.00}") %>'></asp:TextBox>
                        <asp:CompareValidator ID="AV_EnfantsTypeValidator" Operator="DataTypeCheck" Display="Dynamic" runat="server" ControlToValidate="txtAV_Enfants" ErrorMessage="Le format n'est pas valide" Type="Double"></asp:CompareValidator>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label  ID="lblAV_Enfants" runat="server" Text='<%# Bind("AV_Enfants","{0:0.00}") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
     
            <asp:TemplateField>
                <InsertItemTemplate>
                    <asp:ImageButton ID="idAdd" runat="server" CausesValidation="true" CommandName="Insert" ImageUrl="~/images/icon-add.gif" AlternateText="Ajouter" ToolTip="Ajouter" />
                    <asp:ImageButton ID="imgCancel" runat="server" CausesValidation="false" CommandName="Cancel" ImageUrl="~/images/icon-cancel.gif" AlternateText="Annuler" />
                </InsertItemTemplate>
                <EditItemTemplate>
                    <asp:ImageButton ID="idEdit" runat="server" CausesValidation="true" CommandName="Update" ImageUrl="~/images/icon-save.gif" AlternateText="Sauvegarder" ToolTip="Sauvegarder" />
                    <asp:ImageButton ID="imgCancel" runat="server" CausesValidation="false" CommandName="Cancel" ImageUrl="~/images/icon-cancel.gif" AlternateText="Annuler" />
                </EditItemTemplate>
     
                <ItemStyle CssClass="DetailsViewCommandItemStyle" />
                <HeaderStyle CssClass="DetailsViewCommandHeaderStyle" />
            </asp:TemplateField>
     
            </Fields>
        </asp:DetailsView>
    </fieldset>

  8. #8
    Membre Expert
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Par défaut
    et ton fichier aspx stp, merci.

    EDIT : c'est vite changé

  9. #9
    Membre Expert
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Par défaut
    Jamais rencontré auparavant une telle exception. Peux-tu vérifier la valeur de la variable text en debug ?

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Par défaut
    vérifié : aucun problème avec sa valeur, elle est à 70, qui est celle par défaut.

  11. #11
    Membre Expert
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Par défaut
    Franchement je ne vois pas, même gogole ne me renvoie pas grand chose à propos de ton exception. Ton control cc1ataSet ne serait pas la cause du problème ? Est-ce qu'il hérite de SqlDataSource ?

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Par défaut
    je n'utilise pas de dataset, mais plutôt DataObjects pour la couche de persistance des données. Je n'utilise donc pas de SqlDataSource non plus, mais plutôt un DataSource de DataObjects.

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Par défaut
    finalement, je vais le gérer avec l'événement dataSource_DataObjectInserted(), où je peux modifier les attributs de l'objet que je viens d'insérer. J'aurais préféré que le textBox soit lié à mon dataSource, mais bon, cela fonctionne quand même.

    merci pour votre aide

  14. #14
    Membre Expert
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Par défaut
    N'oublie pas le bouton stp.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Valeur par défaut dans un ALTER TABLE
    Par HULK dans le forum Langage SQL
    Réponses: 11
    Dernier message: 27/12/2005, 10h04
  2. Valeur par défaut dans un DbLookupCombobox
    Par defluc dans le forum Bases de données
    Réponses: 2
    Dernier message: 22/09/2005, 14h04
  3. [Débutant(e)]valeur par défaut dans méthodes
    Par seiryujay dans le forum Langage
    Réponses: 3
    Dernier message: 13/07/2005, 12h02
  4. Sélection valeur par défaut dans une zone de liste
    Par Cécile154 dans le forum IHM
    Réponses: 2
    Dernier message: 15/02/2005, 18h20
  5. Valeur par défaut dans une table objet
    Par Ricky81 dans le forum Oracle
    Réponses: 12
    Dernier message: 18/03/2004, 11h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo