or
I am getting the pagemethods is undefined message in my pageLoad method. Can you suggest how to fix this error?
this is my webusercontrol for my grid with the pageload method
Thaks for your help - John
| <%@ Control Language="C#" AutoEventWireup="true" CodeFile="MasterPartsList.ascx.cs" |
| Inherits="UserControls_MasterPartsList" %> |
| <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> |
| <telerik:RadSplitter ID="RadSplitter1" runat="server" Height="100%" Width="100%" |
| VisibleDuringInit="false"> |
| <telerik:RadPane ID="Radpane2" runat="server"> |
| <telerik:RadAjaxManagerProxy ID="RadAjaxManager1" runat="server"> |
| <AjaxSettings> |
| <telerik:AjaxSetting AjaxControlID="RadGrid2"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="RadGrid2" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| </AjaxSettings> |
| </telerik:RadAjaxManagerProxy> |
| <telerik:RadScriptBlock ID="RadCodeBlock1" runat="server"> |
| <script type="text/javascript"> |
| <!-- |
| function pageLoad(sender, eventArgs) { |
| var tableView = $find("<%= RadGrid2.ClientID %>").get_masterTableView(); |
| PageMethods.GetData(0, |
| tableView.get_pageSize(), |
| tableView.get_sortExpressions().toString(), |
| tableView.get_filterExpressions().toList(), |
| updateGrid); |
| PageMethods.GetCount(tableView.get_filterExpressions().toList(), updateVirtualItemCount); |
| } |
| function RadGrid2_Command(sender, args) { |
| args.set_cancel(true); |
| var pageSize = sender.get_masterTableView().get_pageSize(); |
| var sortExpressions = sender.get_masterTableView().get_sortExpressions(); |
| var filterExpressions = sender.get_masterTableView().get_filterExpressions(); |
| var currentPageIndex = sender.get_masterTableView().get_currentPageIndex(); |
| if (args.get_commandName() == "Filter") |
| currentPageIndex = 0; |
| var sortExpressionssortExpressionsAsSQL = sortExpressions.toString(); |
| var filterExpressionsfilterExpressionsAsSQL = filterExpressions.toString(); |
| PageMethods.GetData(currentPageIndex * pageSize, pageSize, sortExpressionsAsSQL, filterExpressions.toList(), updateGrid); |
| if (args.get_commandName() == "Filter") { |
| PageMethods.GetCount(filterExpressions.toList(), updateVirtualItemCount); |
| } |
| } |
| function updateGrid(result) { |
| var tableView = $find("<%= RadGrid2.ClientID %>").get_masterTableView(); |
| tableView.set_dataSource(result); |
| tableView.dataBind(); |
| } |
| function updateVirtualItemCount(result) { |
| var tableView = $find("<%= RadGrid2.ClientID %>").get_masterTableView(); |
| tableView.set_virtualItemCount(result); |
| } |
| function toggleAllowMultiColumnSorting(sender, e) { |
| var tableView = $find("<%= RadGrid2.ClientID %>").get_masterTableView(); |
| tableView.set_allowMultiColumnSorting(sender.checked); |
| } |
| function RadGrid2_RowDataBound(sender, args) { |
| var radTextBoxPartNumber = args.get_item().findControl("PartNumber"); // find control |
| radTextBoxPartNumber.set_value(args.get_dataItem()["PartNumber"]); |
| // conditional formatting |
| args.get_item().get_cell("TitleOfCourtesy").style.fontWeight = (args.get_dataItem()["TitleOfCourtesy"] == "Dr.") ? "bold" : "normal"; |
| var sb = new Sys.StringBuilder(); |
| sb.appendLine("<b>RadGrid2_RowDataBound</b><br />"); |
| for (var item in args.get_dataItem()) { |
| sb.appendLine(String.format("{0} : {1}<br />", item, args.get_dataItem()[item])); |
| } |
| sb.appendLine("<br />"); |
| sb.appendLine("<br />"); |
| } |
| --> |
| </script> |
| </telerik:RadScriptBlock> |
| <telerik:RadGrid ID="RadGrid2" runat="server" AutoGenerateColumns="False" AllowAutomaticInserts="True" |
| AllowAutomaticUpdates="True" AllowAutomaticDeletes="True" GridLines="None" PageSize="25" |
| AllowPaging="True" AllowSorting="True" OnNeedDataSource="RadGrid2_NeedDataSource" |
| OnDeleteCommand="RadGrid2_DeleteCommand" OnInsertCommand="RadGrid2_InsertCommand" |
| OnUpdateCommand="RadGrid2_UpdateCommand" |
| OnDataBound="RadGrid2_DataBound" |
| AllowFilteringByColumn="True"> |
| <PagerStyle Mode="NextPrevAndNumeric" /> |
| <MasterTableView DataKeyNames="Id" CommandItemDisplay="TopAndBottom" EditMode="InPlace"> |
| <Columns> |
| <telerik:GridBoundColumn DataField="Id" DataType="system.Int64" HeaderText="Id" ReadOnly="True" |
| SortExpression="Id" UniqueName="Id" Visible="false"> |
| </telerik:GridBoundColumn> |
| <telerik:GridTemplateColumn HeaderText="PartNumber" SortExpression="PartNumber" |
| UniqueName="PartNumberColumn" EditFormColumnIndex="1"> |
| <ItemTemplate> |
| <telerik:RadTextBox runat="server" ID="PartNumber" ></telerik:RadTextBox> |
| </ItemTemplate> |
| </telerik:GridTemplateColumn> |
| <telerik:GridTemplateColumn HeaderText="Description" SortExpression="Description" |
| UniqueName="Description" EditFormColumnIndex="2"> |
| <ItemTemplate> |
| <telerik:RadTextBox runat="server" ID="Description" ></telerik:RadTextBox> |
| </ItemTemplate> |
| </telerik:GridTemplateColumn> |
| <telerik:GridTemplateColumn HeaderText="PartType" SortExpression="PartType" UniqueName="PartType" |
| EditFormColumnIndex="3"> |
| <ItemTemplate> |
| <telerik:RadComboBox runat="server" ID="PartType"> |
| </telerik:RadComboBox> |
| </ItemTemplate> |
| </telerik:GridTemplateColumn> |
| <telerik:GridTemplateColumn HeaderText="UOM" SortExpression="UnitOfMeasure" UniqueName="UnitOfMeasure" |
| EditFormColumnIndex="4"> |
| <ItemTemplate> |
| <asp:Label runat="server" ID="LblUnitOfMeasure" Text='<%# Eval("UnitOfMeasure") %>'> |
| </asp:Label> |
| |
| </ItemTemplate> |
| <EditItemTemplate> |
| <telerik:GridDropDownColumn DataField="UnitOfMeasure" HeaderText="UOM" ListTextField="Code" |
| ListValueField="Description" UniqueName="UnitOfMeasure" |
| DropDownControlType="RadComboBox" AllowSorting="true"> |
| </telerik:GridDropDownColumn> |
| </EditItemTemplate> |
| </telerik:GridTemplateColumn> |
| <telerik:GridTemplateColumn HeaderText="Comm Code" SortExpression="CommodityCode" |
| UniqueName="CommodityCode" EditFormColumnIndex="5"> |
| <ItemTemplate> |
| <asp:Label runat="server" ID="LblCommodityCode" Text='<%# Eval("CommodityCode") %>'></asp:Label> |
| </ItemTemplate> |
| <EditItemTemplate> |
| <telerik:GridDropDownColumn DataField="CommodityCode" HeaderText="UOM" ListTextField="Code" |
| ListValueField="Description" UniqueName="CommodityCode"> |
| </telerik:GridDropDownColumn> |
| </EditItemTemplate> |
| </telerik:GridTemplateColumn> |
| <telerik:GridEditCommandColumn ButtonType="ImageButton"> |
| <HeaderStyle Width="20px" /> |
| <ItemStyle CssClass="MyImageButton" /> |
| </telerik:GridEditCommandColumn> |
| <telerik:GridButtonColumn ButtonType="ImageButton" CommandName="Delete" Text="Delete" |
| UniqueName="DeleteColumn" ConfirmText="Delete this Part?"> |
| <HeaderStyle Width="20px" /> |
| <ItemStyle HorizontalAlign="Center" CssClass="MyImageButton" /> |
| </telerik:GridButtonColumn> |
| </Columns> |
| <EditFormSettings ColumnNumber="2" CaptionDataField="PartNumber" CaptionFormatString="Edit properties of Part {0}"> |
| <FormTableItemStyle Wrap="False"></FormTableItemStyle> |
| <FormCaptionStyle CssClass="EditFormHeader"></FormCaptionStyle> |
| <FormMainTableStyle GridLines="Horizontal" CellSpacing="0" CellPadding="3" BackColor="White" |
| Width="100%" /> |
| <FormTableStyle CellSpacing="0" CellPadding="2" CssClass="module" Height="110px" |
| BackColor="White" /> |
| <FormTableAlternatingItemStyle Wrap="False"></FormTableAlternatingItemStyle> |
| <EditColumn ButtonType="ImageButton" InsertText="Insert Order" UpdateText="Update record" |
| UniqueName="EditCommandColumn1" CancelText="Cancel edit"> |
| </EditColumn> |
| <FormTableButtonRowStyle HorizontalAlign="Right" CssClass="EditFormButtonRow"></FormTableButtonRowStyle> |
| </EditFormSettings> |
| </MasterTableView> |
| </telerik:RadGrid> |
| </telerik:RadPane> |
| </telerik:RadSplitter> |
| <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Proposal.aspx.cs" Inherits="_Default" %> |
| <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> |
| <%@ Register TagPrefix="nwd" TagName="ProposalDetailsPage" Src="~/UserControls/ProposalDetails.ascx" %> |
| <%@ Register TagPrefix="nwd" TagName="MasterPartsListPage" Src="~/UserControls/MasterPartsList.ascx" %> |
| <%@ Register TagPrefix="nwd" TagName="StructurePage" Src="~/UserControls/Structure.ascx" %> |
| <%@ Register TagPrefix="qsf" TagName="Header" Src="~/Common/Header.ascx" %> |
| <%@ Register TagPrefix="qsf" TagName="HeadTag" Src="~/Common/HeadTag.ascx" %> |
| <%@ Register TagPrefix="qsf" TagName="Footer" Src="~/Common/Footer.ascx" %> |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US"> |
| <head runat="server"> |
| <title>Harris Corporation | Proposal Material Management Application</title> |
| <link href="Styles/Styles.css" rel="stylesheet" type="text/css" /> |
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
| <qsf:HeadTag ID="Headtag1" runat="server"></qsf:HeadTag> |
| <style type="text/css"> |
| .rcbHeader ul, .rcbFooter ul, .rcbItem ul, .rcbHovered ul, .rcbDisabled ul |
| { |
| width: 100%; |
| display: inline-block; |
| margin: 0; |
| padding: 0; |
| list-style-type: none; |
| } |
| .rcbHeader ul:after, .rcbFooter ul:after, .rcbItem ul:after, .rcbHovered ul:after, .rcbDisabled ul:after |
| { |
| content: "."; |
| display: block; |
| visibility: hidden; |
| font-size: 0; |
| line-height: 0; |
| height: 0; |
| clear: both; |
| } |
| .col1, .col2, .col3 |
| { |
| float: left; |
| width: 120px; |
| margin: 0; |
| padding: 0 5px 0 0; |
| line-height: 14px; |
| } |
| label.text |
| { |
| font: 13px 'Segoe UI' , Arial, sans-serif; |
| color: #4888a2; |
| padding: 6px 18px 0 0; |
| display: inline-block; |
| clear: both; |
| width: 150px; |
| } |
| .combo-list |
| { |
| list-style: none; |
| padding: 0; |
| margin: 0; |
| } |
| </style> |
| </head> |
| <body> |
| <form id="form2" runat="server"> |
| <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true"> |
| <Scripts> |
| <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js" /> |
| <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQuery.js" /> |
| </Scripts> |
| </asp:ScriptManager> |
| <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> |
| </telerik:RadAjaxManager> |
| <telerik:RadFormDecorator runat="server" ID="RadFormDecorator1" DecoratedControls="All" |
| DecorationZoneID="decorationZone" /> |
| <div class="wrapper"> |
| <div class="header"> |
| <h1> |
| Mammoth</h1> |
| <h2> |
| Material Costing Application</h2> |
| <br /> |
| <h3> |
| Proposal: |
| <asp:PlaceHolder ID="placeHolderProposalName" runat="server" /> |
| </h3> |
| <div class="chooser"> |
| <label for="SkinChooser_Input"> |
| Choose skin:</label> |
| <telerik:RadSkinManager ID="RadSkinManager1" runat="server" ShowChooser="true" Skin="Office2007" |
| Enabled="true" PersistenceMode="Session"> |
| </telerik:RadSkinManager> |
| </div> |
| </div> |
| <div class="tabstrip"> |
| <telerik:RadTabStrip ID="RadTabStrip1" runat="server" MultiPageID="RadMultiPage1" |
| SelectedIndex="0" ShowBaseLine="true"> |
| <Tabs> |
| <telerik:RadTab Text="Details"> |
| </telerik:RadTab> |
| <telerik:RadTab Text="Master Parts List"> |
| </telerik:RadTab> |
| <telerik:RadTab Text="Structure"> |
| </telerik:RadTab> |
| </Tabs> |
| </telerik:RadTabStrip> |
| </div> |
| <div id="decorationZone" class="splitter"> |
| <telerik:RadMultiPage ID="RadMultiPage1" runat="server" SelectedIndex="0" CssClass="pageView"> |
| <telerik:RadPageView ID="RadPageView1" runat="server"> |
| <nwd:ProposalDetailsPage ID="ProposalDetailsPage" runat="server" navigationlanguage="c#" /> |
| </telerik:RadPageView> |
| <telerik:RadPageView ID="RadPageView2" runat="server"> |
| <nwd:MasterPartsListPage ID="MasterPartsListPage" runat="server" navigationlanguage="c#" /> |
| </telerik:RadPageView> |
| <telerik:RadPageView ID="RadPageView3" runat="server"> |
| <nwd:StructurePage ID="StructurePage" runat="server" navigationlanguage="c#" /> |
| </telerik:RadPageView> |
| </telerik:RadMultiPage> |
| </div> |
| <div class="footer"> |
| <br /> |
| <asp:HyperLink ID="returnToProposalIndex" runat="server" NavigateUrl="~/Default.aspx">Return to Proposal Index</asp:HyperLink> |
| </div> |
| </div> |
| </form> |
| </body> |
| </html> |
| <pages ... styleSheetTheme="Base">...</pages> |
| Me.Theme = "SiteTheme" |
Let me explain.
I have a grid which is made like that:
| <td valign=bottom> |
| <telerik:RadGrid |
| ID="RadGrid2" |
| Skin="Vista" |
| runat="server" |
| OnNeedDataSource="RadGrid2_NeedDataSource" |
| ShowFooter=true |
| CommandItemStyle-HorizontalAlign=Center> |
| <MasterTableView |
| ShowFooter=true |
| CommandItemDisplay="bottom" |
| EditMode="InPlace" > |
| <CommandItemTemplate> |
| <asp:LinkButton ID="LinkButton1" CommandName="UpdateChanges" Runat="server" CssClass="TexteBlanc16">Importer tous</asp:LinkButton> |
| </CommandItemTemplate> |
| <Columns> |
| <telerik:GridTemplateColumn UniqueName="CodePermanent" HeaderText="Code Permanent"> |
| <ItemTemplate> |
| <asp:TextBox ID="TxtCodePermanent" runat="server"></asp:TextBox> |
| </ItemTemplate> |
| </telerik:GridTemplateColumn> |
| </Columns> |
| </MasterTableView> |
| </telerik:RadGrid> |
| </td> |
| <td valign=bottom> |
| <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Ajouter une ligne" /> |
| </td> |
| Public Sub RadGrid2_NeedDataSource(ByVal source As Object, ByVal e As Telerik.Web.UI.GridNeedDataSourceEventArgs) |
| If Not IsPostBack Then |
| dt = AddRow(dt) |
| ' call the method to create row |
| ViewState("dt") = dt |
| End If |
| dt = DirectCast(ViewState("dt"), DataTable) |
| RadGrid2.DataSource = dt |
| End Sub |
| Private Function AddRow(ByVal dt As DataTable) As DataTable |
| ' method to create row |
| Dim dr As DataRow = dt.NewRow() |
| dr("RowNumber") = "" |
| dt.Rows.Add(dr) |
| Return dt |
| End Function |
| Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) |
| Dim countitem As Integer |
| Dim dt As DataTable = DirectCast(ViewState("dt"), DataTable) |
| countitem = RadGrid2.Items.Count |
| Dim cpt As Integer = 0 |
| For Each Item As GridDataItem In RadGrid2.Items |
| Dim txtcode As TextBox = DirectCast(Item("CodePermanent").FindControl("TxtCodePermanent"), TextBox) |
| If Not (txtcode.Text Is Nothing) And txtcode.Text <> "" Then |
| liste.Add(txtcode.Text) |
| End If |
| Next |
| ViewState("dt") = AddRow(dt) |
| listcount = liste.Count |
| RadGrid2.Rebind() |
| While cpt < listcount |
| Dim txtcode As TextBox = DirectCast(RadGrid2.Items(cpt)("CodePermanent").FindControl("TxtCodePermanent"), TextBox) |
| txtcode.Text = liste.Item(cpt) |
| cptcpt = cpt + 1 |
| End While |
| End Sub |
| Public Sub RadGrid2_ItemCommand(ByVal source As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles RadGrid2.ItemCommand |
| If e.CommandName = "UpdateChanges" Then |
| For Each Item As GridDataItem In RadGrid2.Items |
| Dim txtcode As TextBox = DirectCast(Item("CodePermanent").FindControl("TxtCodePermanent"), TextBox) |
| If Not (txtcode.Text Is Nothing) Then |
| ImporterEtudiants(txtcode.Text) |
| End If |
| Next |
| Me.RadGrid_BanqueCV.Rebind() |
| If CodePermInvalide <> "" Then |
| Session("sCodePermInvalide") = CodePermInvalide |
| Response.Redirect("FEN_ERREUR.aspx?NoErreur=3") |
| End If |
| End If |
| End Sub |
| Public Function ImporterEtudiants(ByVal sCodePerm As String) As Boolean |
| Dim strSQLIdent As String |
| Dim cmdIdent As New SqlCommand |
| Dim myDAIdent As New SqlDataAdapter |
| Dim dsIdent As New DataSet |
| Dim strSQLIdentValide As String |
| Dim cmdIdentValide As New SqlCommand |
| Dim myDAIdentValide As New SqlDataAdapter |
| Dim dsIdentValide As New DataSet |
| Dim strSQLIdentInsert As String |
| Dim cmdIdentInsert As New SqlCommand |
| Dim myDAIdentInsert As New SqlDataAdapter |
| Dim dsIdentInsert As New DataSet |
| Dim DatedeNaissance As Date |
| strSQLIdentValide = "SELECT * FROM T_USAGER WHERE CODE_PERMANENT ='" & sCodePerm & "'" |
| cmdIdentValide = New SqlCommand(strSQLIdentValide, Conn) |
| myDAIdentValide = New SqlDataAdapter(cmdIdentValide) |
| Conn.Open() |
| myDAIdentValide.Fill(dsIdentValide) |
| Conn.Close() |
| If dsIdentValide.Tables(0).Rows.Count > 0 Then 'L'usager existe déjà dans la table T_USAGER |
| Effacer = 1 |
| Return True |
| Else |
| strSQLIdent = "SELECT E_Ele.Fiche,CodePerm,DateNaiss,Nom,Pnom,NoCiv,Rue,Ville,CodePost,IndReg,Tel " & _ |
| "FROM E_Ele " & _ |
| "INNER JOIN E_Adr " & _ |
| "ON E_Ele.Fiche = E_Adr.Fiche " & _ |
| "INNER JOIN E_Freq ON E_Ele.Fiche = E_Freq.Fiche " & _ |
| "GROUP BY E_Ele.Fiche, E_Ele.CodePerm, E_Ele.DateNaiss, E_Ele.Nom, E_Ele.Pnom, E_Adr.NoCiv, E_Adr.Rue, E_Adr.Ville, E_Adr.CodePost, E_Adr.IndReg, E_Adr.Tel, E_Adr.DateFin, E_Adr.EnvoiMeq " & _ |
| "HAVING (((Max(E_Freq.DateFin))>'2008-01-01') AND ((E_Adr.DateFin)='') AND ((E_Adr.EnvoiMeq)='1')) AND CodePerm='" & sCodePerm & "'" |
| cmdIdent = New SqlCommand(strSQLIdent, ConnJadeAdulte) |
| myDAIdent = New SqlDataAdapter(cmdIdent) |
| ConnJadeAdulte.Open() |
| myDAIdent.Fill(dsIdent) |
| ConnJadeAdulte.Close() |
| If dsIdent.Tables(0).Rows.Count > 0 Then |
| DatedeNaissance = Left(dsIdent.Tables(0).Rows(0).Item("DateNaiss"), 4) & "-" & Mid(dsIdent.Tables(0).Rows(0).Item("DateNaiss"), 5, 2) & "-" & Right(dsIdent.Tables(0).Rows(0).Item("DateNaiss"), 2) |
| strSQLIdentInsert = "INSERT INTO T_USAGER (CODE_PERMANENT,MOT_PASSE,PRENOM,NOM,ADRESSE,VILLE,CODE_POSTAL,NO_TEL,COURRIEL,DATE_NAISSANCE,LETTRE_CONSENTEMENT,RECEVOIR_NOUVELLE_OFFRE,DIPLOME, PREMIERE_FOIS) " & _ |
| "VALUES ('" & sCodePerm & "'," & dsIdent.Tables(0).Rows(0).Item("DateNaiss") & ",'" & Replace(Trim(dsIdent.Tables(0).Rows(0).Item("Pnom")), ",", "''") & "', '" & Replace(Trim(dsIdent.Tables(0).Rows(0).Item("Nom")), "'", "''") & "','" & Replace(Trim(dsIdent.Tables(0).Rows(0).Item("NoCiv")), "'", "''") & " " & Replace(Trim(dsIdent.Tables(0).Rows(0).Item("Rue")), "'", "''") & "','" & Replace(Trim(dsIdent.Tables(0).Rows(0).Item("Ville")), "'", "''") & "','" & dsIdent.Tables(0).Rows(0).Item("CodePost") & "','" & dsIdent.Tables(0).Rows(0).Item("IndReg") & dsIdent.Tables(0).Rows(0).Item("Tel") & "','','" & DatedeNaissance & "',0,0,0,1)" |
| cmdIdentInsert = New SqlCommand(strSQLIdentInsert, Conn) |
| myDAIdentInsert = New SqlDataAdapter(cmdIdentInsert) |
| Conn.Open() |
| myDAIdentInsert.Fill(dsIdentInsert) |
| Conn.Close() |
| Effacer = 1 |
| Return True |
| Else |
| If CodePermInvalide = "" Then |
| CodePermInvalide = sCodePerm |
| Else |
| CodePermInvalideCodePermInvalide = CodePermInvalide & " <br> " & sCodePerm |
| End If |
| Effacer = 0 |
| Return False |
| End If |
| End If |
| End Function |
| Private Sub RadGrid2_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadGrid2.PreRender |
| RadGrid2.MasterTableView.RenderColumns(1).Display = False |
| RadGrid2.MasterTableView.RenderColumns(3).Display = False |
| End Sub |
| <A HREF="Javascript:history.go(-1)" >Retour</a> |