none
Affichage de l'option categorie dans BonnesAffairesSansRisque RRS feed

  • Question

  • Bonjour
    Apres installation de la totalité del'application BonnesAffairesSansRisque l'ensemble marche bien mais j'ai un probléme quand je selectionne categories pour afficher les annonces d'une categorie par exemple vehicule c'est la liste des annoces par region qui s'affiche
    Peut être quelqun peut me dire la modification à apporter
    sincéres salutations
    • Déplacé Siddharth Chavan mercredi 7 juillet 2010 06:27 Forums Consolidation (Origine :Forum du coach ASP.NET)
    vendredi 12 juin 2009 06:29

Réponses

  • Bonjour
    Je te remercie pour le message d'aide que tu as bien voulu m'apporter
    Dans mon fichier 1/DiffuserAnnonce.aspx j'ai le DropDownList suivant: 

     

    <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" DataSourceID="dsCategories"

     

    DataTextField="Cat_Nom" DataValueField="Cat_Id"

     

    SelectedValue='<%# Bind("Cat_Id") %>'>

     

    </asp:DropDownList></td>
    J'ai éssayé de le modifier  mais le probléme reste le même
    Sincéres salutations

    vendredi 3 juillet 2009 07:26

Toutes les réponses

  • Utilise tu bien le ID de ton champ comme valeur dans ton dropdownlist ou l'index ? Si c'est l'index (dropdownlist.selectedindex) c'est normal que l'interpretation entre ton dropdown et ta requete sql avec laquelle tu accede aux données que tu veux récupérer pour la selection dans ton dropdown ne soit pas la même.

    La bonne méthode à utiliser est de définir le selectedvalue dans ton dropdown et pas le selectedindex.

    <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True"
            DataSourceID="dsCategorie" DataTextField="Cat_Nom" DataValueField="Cat_Id">

    Ou DataValueField est égal à ton ID.

    Si tu souhaite utiliser l'index de ton dropdown, il faut parcourir ta base à la recherche du bon élément que tu souhaite afficher.

    Cordialement.
    jeudi 2 juillet 2009 08:38
  • Bonjour
    Je te remercie pour le message d'aide que tu as bien voulu m'apporter
    Dans mon fichier 1/DiffuserAnnonce.aspx j'ai le DropDownList suivant: 

     

    <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" DataSourceID="dsCategories"

     

    DataTextField="Cat_Nom" DataValueField="Cat_Id"

     

    SelectedValue='<%# Bind("Cat_Id") %>'>

     

    </asp:DropDownList></td>
    J'ai éssayé de le modifier  mais le probléme reste le même
    Sincéres salutations

    vendredi 3 juillet 2009 07:26
  • Peux tu mettre le contenu de ton DiffuserAnnonce.aspx complet ainsi que le code behind que je regarde ça.
    vendredi 3 juillet 2009 07:50
  • Bonjour
    Je t'envoie les documents que tu me demande

    <%

    @ Page Language="VB" MasterPageFile="~/MasterPage.master" AutoEventWireup="false" CodeFile="DiffuserAnnonce.aspx.vb" Inherits="DiffuserAnnonce" title="Diffuser une annonce" %>

    <

    asp:Content ID="Content1" ContentPlaceHolderID="Main" Runat="Server">

     

    <br />

     

    <div class="barretitre">Par Internet</div>

     

    <asp:ValidationSummary ID="ValidationSummary1" runat="server" DisplayMode="List" ValidationGroup="Par Internet" />

     

    <asp:SqlDataSource ID="dsAnnonce" runat="server" ConnectionString="<%$ ConnectionStrings:csAffairesSansRisque %>"

     

    InsertCommand="DiffuserAnnonce" InsertCommandType="StoredProcedure" SelectCommand="SELECT * FROM [Annonces]">

     

    <InsertParameters>

     

    <asp:Parameter Name="Ann_Texte" Type="String" />

     

    <asp:Parameter Name="Ann_Telephone" Type="String" />

     

    <asp:Parameter Name="Ann_Email" Type="String" />

     

    <asp:Parameter Name="Ann_Prix" Type="String" />

     

    <asp:Parameter Name="Ann_Ville" Type="String" />

     

    <asp:Parameter Name="Ann_CodePostal" Type="String" />

     

    <asp:Parameter Name="Ann_UserEmail" Type="String" />

     

    <asp:Parameter Name="Reg_Id" Type="Int32" />

     

    <asp:Parameter Name="Cat_Id" Type="Int32" />

     

    <asp:Parameter Name="Ann_Id" Type="Int32" Direction="ReturnValue" />

     

    </InsertParameters>

     

    </asp:SqlDataSource>

    <

    asp:FormView ID="FormView1" runat="server" DataKeyNames="Ann_Id" DataSourceID="dsAnnonce"

     

    DefaultMode="Insert" OnItemInserted="ValiderInsertion" >

     

    <InsertItemTemplate>

     

    <table border="0" cellpadding="0" cellspacing="5" >

     

    <tr>

     

    <td style="height: 78px" valign="top" width="150">

     

    <h3>Texte de l'annonce (250 charactères max)<asp:RequiredFieldValidator ValidationGroup="Par Internet"

     

    ID="RequiredFieldValidator2" ControlToValidate="txtTexte" runat="server"

     

    ErrorMessage="Vous devez saisir un texte décrivant votre annonce">*</asp:RequiredFieldValidator>

     

    </h3>

     

    </td>

     

    <td colspan="3" style="height: 78px" valign="top" >

     

    <asp:TextBox ID="txtTexte" runat="server" Text='<%# Bind("Ann_Texte") %>'

     

    TextMode="MultiLine" MaxLength="250" Height="132px" Width="350"

     

    EnableTheming="False"></asp:TextBox></td>

     

    </tr>

     

    <tr>

     

    <td valign="top" width="150">

     

    <h3>Catégorie</h3>

     

    </td>

     

    <td valign="top" width="200">

     

    <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" DataSourceID="dsCategories"

     

    DataTextField="Cat_Nom" DataValueField="Cat_Id"

     

    SelectedValue='<%# Bind("Cat_Id") %>'>

     

    </asp:DropDownList></td>

     

    <td valign="top" width="60">

     

    <h3>Région</h3>

     

    </td>

     

    <td valign="top" width="150">

     

    <asp:DropDownList ID="DropDownList3" runat="server" DataSourceID="dsRegions"

     

    DataTextField="Reg_Nom" DataValueField="Reg_Id"

     

    SelectedValue='<%# Bind("Reg_Id") %>'>

     

    </asp:DropDownList></td>

     

    </tr>

     

    <tr>

     

    <td valign="top" width="150">

     

    <h3>Prix (proposé)</h3>

     

    </td>

     

    <td valign="top" width="200">

     

    <asp:TextBox ID="TextBox4" runat="server" MaxLength="20"

     

    Text='<%# Bind("Ann_Prix") %>'></asp:TextBox>

     

    </td>

     

    <td>

     

    </td>

     

    <td>

     

    </td>

     

    </tr>

     

    <tr>

     

    <td valign="top" width="150">

     

    <h3>N° de téléphone<asp:RequiredFieldValidator ValidationGroup="Par Internet" ID="RequiredFieldValidator1" runat="server" ErrorMessage="Vous devez saisir un numéro de téléphone" Text="*" ControlToValidate="TxtNumeroTelephone" SetFocusOnError="true">

     

    </asp:RequiredFieldValidator>

     

    <asp:RegularExpressionValidator ValidationGroup="Par Internet" ID="RegularExpressionValidator3" runat="server"

     

    ErrorMessage="Vous devez saisir un numéro de téléphone valide, du type 01 00 11 22 33"

     

    Text="*" ControlToValidate="txtNumeroTelephone"

     

    ValidationExpression="(0( \d|\d ))?\d\d \d\d(\d \d| \d\d )\d\d"></asp:RegularExpressionValidator>

     

    </h3>

     

    </td>

     

    <td valign="top" width="200">

     

    <asp:TextBox ID="TxtNumeroTelephone" runat="server" MaxLength="20"

     

    Text='<%# Bind("Ann_Telephone") %>'></asp:TextBox>

     

    </td>

     

    <td valign="top" align="right" width="60">

     

    <h3>@<asp:RegularExpressionValidator ValidationGroup="Par Internet" ID="RegularExpressionValidator1" runat="server"

     

    ErrorMessage="Vous devez saisir une adresse mail valide, du type nom@hotmail.fr"

     

    Text="*" ControlToValidate="txtEmail" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>

     

    </h3>

     

    </td>

     

    <td valign="top" width="150">

     

    <asp:TextBox ID="TxtEmail" runat="server" MaxLength="20"

     

    Text='<%# Bind("Ann_Email") %>'></asp:TextBox>

     

    </td>

     

    </tr>

     

    <tr>

     

    <td style="height: 13px;" valign="top" width="150">

     

    <h3>Code Postal<asp:RegularExpressionValidator ValidationGroup="Par Internet" ID="RegularExpressionValidator2" runat="server"

     

     

    samedi 4 juillet 2009 06:02
  • Je t'envoie les codes en quatre morceaux ,Les messages ne doivent pas contenir plus de60000 caractéres il faudra que tu ressoude
      

     

    ErrorMessage="Vous devez saisir un code postal valide, du type 01590"

     

    ControlToValidate="txtCodePostal" ValidationExpression="\d{5}" Text="*" >

     

    </asp:RegularExpressionValidator>

     

    </h3>

     

    </td>

     

    <td style=" height: 13px;" valign="top" width="200">

     

    <asp:TextBox ID="txtCodePostal" runat="server" MaxLength="20"

     

    Text='<%# Bind("Ann_CodePostal") %>'></asp:TextBox>

     

    </td>

     

    <td style="height: 13px;" valign="top" align="right" width="60">

     

    <h3>Ville</h3>

     

    </td>

     

    <td style=" height: 13px;" valign="top" width="150">

     

    <asp:TextBox ID="TextBox6" runat="server" MaxLength="20"

     

    Text='<%# Bind("Ann_Ville") %>'></asp:TextBox>

     

    </td>

     

    </tr>

     

    <tr >

     

    <td height="20" colspan="4" >

     

    <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" ValidationGroup="Par Internet"

     

    CommandName="Insert" Text="Valider votre annonce" PostBackUrl="~/1/DiffuserAnnonceTerminee.aspx"></asp:LinkButton>&nbsp;|&nbsp;

     

    <asp:LinkButton ID="InsertCancelButton" runat="server" CausesValidation="False"

     

    CommandName="Cancel"

     

    Text="Annuler"></asp:LinkButton>

     

    </td>

     

    </tr>

     

    </table>

     

    <br />

     

    <asp:SqlDataSource ID="dsRegions" runat="server"

     

    ConnectionString="<%$ ConnectionStrings:csAffairesSansRisque %>"

     

    SelectCommand="SELECT [Reg_Id], [Reg_Nom] FROM [Regions]"></asp:SqlDataSource>

     

    <asp:SqlDataSource ID="dsCategories" runat="server"

     

    ConnectionString="<%$ ConnectionStrings:csAffairesSansRisque %>"

     

    SelectCommand="SELECT [Cat_Id], [Cat_Nom] FROM [Categories]"></asp:SqlDataSource>

     

    </InsertItemTemplate>

     

    </asp:FormView>

    <

    div class="barretitre">Par Téléphone</div>

     

    <asp:ValidationSummary ValidationGroup="Par Téléphone" ID="ValidationSummary2"

     

    runat="server" HeaderText="Certaines informations sont manquantes. Corrigez le problème

    avant de valider à nouveau :"

    EnableTheming="True" ShowMessageBox="True"

     

    ShowSummary="False" />

     

    <table border="0" cellpadding="0" cellspacing="5" >

     

    <tr>

     

    <td style="width: 200px" valign="top">

     

    <h3>Vous êtes<asp:RequiredFieldValidator ValidationGroup="Par Téléphone" ID="RequiredFieldValidator3" runat="server"

     

    ControlToValidate="DropDownList2"

     

    ErrorMessage="Vous devez indiquer si vous êtes un particulier ou un professionnel">*</asp:RequiredFieldValidator>

     

    </h3>

     

    </td>

     

    <td valign="top">

     

    <asp:DropDownList ID="DropDownList2" runat="server">

     

    <asp:ListItem></asp:ListItem>

     

    <asp:ListItem>particulier</asp:ListItem>

     

    <asp:ListItem>professionnel</asp:ListItem>

     

    </asp:DropDownList>

     

    </td>

     

    </tr>

     

    <tr>

     

    <td style="width: 200px" valign="top">

     

    <asp:LinkButton ID="ObtenirNumeroAppel" ValidationGroup="Par Téléphone"

     

    Text="Obtenir le numéro d'appel"

     

    runat="server" />

     

    </td>

     

    <td valign="top">

     

    <asp:Literal ID="Literal1" runat="server"></asp:Literal>

     

    </td>

     

    </tr>

     

    </table>

     

    <br />

     

    <div class="barretitre">Directement sur site</div>

     

    <table border="0" cellpadding="0" cellspacing="5" >

     

    <tr>

     

    <td style="width: 200px" valign="top">

     

    <h3>Sélectionnez une région</h3></td>

     

    <td valign="top">

     

    <asp:SqlDataSource ID="SqlDataSource1" runat="server"

     

    ConnectionString="<%$ ConnectionStrings:csAffairesSansRisque %>"

     

    SelectCommand="SELECT * FROM [Regions]">

     

    </asp:SqlDataSource>

     

    <asp:DropDownList ID="DDLRegions" runat="server" DataSourceID="SqlDataSource1"

     

    DataTextField="Reg_Nom" DataValueField="Reg_Id"

     

    OnChange="ChargerAgencesLocales(this.options[this.selectedIndex].value,'context'); ">

     

    </asp:DropDownList>

     

    </td>

     

    </tr>

     

    <tr>

     

    <td style="width: 200px" valign="top">

     

    <h3>Rendez-vous dans l'une de nos agences</h3></td>

     

    <td valign="top">

     

    <asp:ListBox ID="LBAgences" runat="server" Width="250px" ></asp:ListBox>

     

    </td>

     

    </tr>

     

    </table>

     

    <br/>

    <

    script language="javascript">

    function

    FonctionClienteDeRappel(result, context)

    {

     

    var ListBoxAgences = document.forms[0].elements['<%=LBAgences.UniqueID%>'];

     

    if (!ListBoxAgences){

     

    return;

    }

    ListBoxAgences.length = 0;

     

    if (!result){

     

    return;

    }

     

    var rows = result.split('|');

     

    for (var i = 0; i < rows.length; ++i){

     

    var option = document.createElement("OPTION");

    option.value = rows[i];

    option.innerHTML = rows[i];

    ListBoxAgences.appendChild(option);

    }

    }

    function

    FonctionClienteDeRappelEnCasDErreur(result, context){

    alert(result);

    }

    </

    script>

     

    </

    asp:Content>

    samedi 4 juillet 2009 06:13
  • CODE FILE :

    Imports

    System.Data.SqlClient

    Imports

    System.Web.Management

    Imports

    System.Data

    Partial

    Class DiffuserAnnonce

     

    Inherits BasePage

     

    Implements ICallbackEventHandler

     

    Private _resultat As String

     

    Public Function GetCallbackResult() As String Implements System.Web.UI.ICallbackEventHandler.GetCallbackResult

     

    Return _resultat

     

    End Function

     

    Public Sub RaiseCallbackEvent(ByVal eventArgument As String) Implements System.Web.UI.ICallbackEventHandler.RaiseCallbackEvent

     

    Select Case eventArgument

     

    Case 19

    _resultat =

    "rue Vaugelas - 01000 PARIS|rue Royal - 01400 VERSAILLES"

     

    Case Else

     

    End Select

     

    End Sub

     

    Private _insertionEstValide As Boolean = False

     

    Public Property InsertionEstValide() As Boolean

     

    Get

     

    Return _insertionEstValide

     

    End Get

     

    Set(ByVal value As Boolean)

    _insertionEstValide = value

     

    End Set

     

    End Property

     

    Protected Sub ValiderInsertion(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.FormViewInsertedEventArgs) Handles FormView1.ItemInserted

     

    If Not (e.Exception Is Nothing) Then

     

    'une erreur s'est produite pendant l'insertion de l'annonce dans la base de données

    _insertionEstValide =

    False

    e.ExceptionHandled =

    True

     

    Else

     

    'l'insertion s'est bien passée

    _insertionEstValide =

    True

     

    End If

     

    End Sub

     

    Protected Sub dsAnnonce_Inserted(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.SqlDataSourceStatusEventArgs) Handles dsAnnonce.Inserted

     

    'Déclaration de l'Id de l'annonce publiée

     

    Dim annonceId As Integer = -1

     

    'Dans le cas où aucune erreur ne s'est produite pendant l'insertion, récupérer l'id de l'annonce

     

    'renvoyé par la procédure stockée

     

    If e.Exception Is Nothing Then

     

    'Parcourir tous les paramètres de la procédure stockée exécutée par l'objet de commande

     

    'et retrouver celui dont la direction indique que c'est la valeur de retour de la procédure

     

    For Each par As SqlParameter In e.Command.Parameters

     

    If par.Direction = Data.ParameterDirection.ReturnValue Then

     

    'mémoriser l'Id de l'annonce insérée.

    annonceId =

    CType(par.Value, Integer)

     

    End If

     

    Next

     

    End If

     

    'déclarer et créer une instance de l'évènement

     

    Dim nouvelEvenement As PublicationAnnonceWebEvent = New PublicationAnnonceWebEvent("Nouvelle annonce publiée", Nothing, 100001, annonceId)

     

    'Déclencher l'évènement

    WebBaseEvent.Raise(nouvelEvenement)

     

    End Sub

     

    Protected Sub ObtenirNumeroAppel_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ObtenirNumeroAppel.Click

     

    Select Case DropDownList2.SelectedIndex

     

    Case 1

    Literal1.Text =

    "<img src=../App_Themes/Default/Images/bullet-2.gif />Contacter le <b>0.800.000.000</b>"

     

    Case 2

    Literal1.Text =

    "<img src=../App_Themes/Default/Images/bullet-2.gif /> Contacter le <b>0.810.000.000</b>"

     

    End Select

     

    End Sub

     

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

     

    'Récupérer une référence vers la fonction cliente qui va initier le callback

     

    Dim ReferenceVersFonctionClienteInitiatriceDuCallBack As String = _

    Page.ClientScript.GetCallbackEventReference(

    Me, _

     

    "arg", _

     

    "FonctionClienteDeRappel", _

     

    "context", _

     

    "FonctionClienteDeRappelEnCasDErreur", _

     

    False)

     

    'A l'aide de la référence obtenue précédemment, générer puis enregistrer le script client

     

    'correspondant à la fonction qui va initier le callback

     

    Dim ScriptFonctionCliente As String = "function ChargerAgencesLocales(arg,context){" & _

    ReferenceVersFonctionClienteInitiatriceDuCallBack +

    ";}"

    Page.ClientScript.RegisterClientScriptBlock(

    Me.GetType(), _

     

    "ChargerAgencesLocales", _

    ScriptFonctionCliente, _

     

    True)

     

    End Sub

    End

    Class

    samedi 4 juillet 2009 06:16