mercredi 25 juillet 2012

Récuperer l'url de la page courante ASP.NET/C#

Plus simple qu'on ne peux l'imagine : 
 
Chemin complet de la page web 
 
string url = HttpContext.Current.Request.Url.AbsoluteUri;
Ce ci vas donner dans mon cas  
http://siteweb.com/repertoire/page_test.aspx

 
Chemin relatif de la page web  
string path = HttpContext.Current.Request.Url.AbsolutePath;
repertoire/page_test.aspx

string host = HttpContext.Current.Request.Url.Host;
http://siteweb.com

lundi 2 juillet 2012

Rafraishir une page après x sécondes en asp.net

Chronométrer l’exécution d'un page m'a semblé difficile quand j'y ai pensé pour la première fois. J'ai pensé à des scripts plus compliqué alors que la solution était dans mes mains depuis longtemps sans que je le sache.

En effet, l'idée maitresse reviens à demander à la page de se relancer elle même après x secondes et de se  rediriger vers elle même. Dans le code behind, je me suis proposé décrire les lignes qui suivent:

Code Behind  :



 protected void Page_Load(object sender, EventArgs e)
        {
            if(!IsPostBack)
            {
                Auto_Refresh_Page();
            }

        }

        void Auto_Refresh_Page()
        {
            string Page_Url = HttpContext.Current.Request.Url.AbsoluteUri;
            Response.AddHeader("REFRESH", string.Format("3; URL = {0}", Page_Url));
        }


Si l'article vous a intéressé , comme d'habitude , n'hésitez pas à nous contacter :

Phone : 00243 997647154
Mail : monsar04[at]gmail.com


samedi 30 juin 2012

Menu deroulant horizontal css/html/javascript

Menu horizontal css

 

La partie html


<html><head><title>menu déroulant en css</title>
<meta http-equiv=content-type content="text/html; charset=iso-8859-1">

<link type="text/css" rel="stylesheet" href="style_menu_deroulant_horizontal.css" />

</head>
<body>

<div id="monmenu">
<h2>menu à déploiement horizontal</h2>

<ul class=niveau1>
  <li>Menu 1
    <ul class=niveau2>
        <li class=plus>
        <a href="#">
            Titre du menu 1
        </a>
            <ul class=niveau3>
      <li><a href="#">  Sous titre 1 du menu 1 </a> </li>
      <li><a href="#">  Sous titre 2 du menu 1 </a> </li>
      <li><a href="#">  Sous titre 3 du menu 1 </a> </li>
      <li><a href="#">  Sous titre 4 du menu 1 </a> </li>
     
      </ul>
     
      </li>
    <li>
    <a href="#">
    Titre du menu 2
    </a>
   
    <ul class=niveau3>
   
      <li><a href="#">  Sous titre 1 du menu 2 </a> </li>
      <li><a href="#">  Sous titre 2 du menu 2 </a> </li>
      <li><a href="#">  Sous titre 3 du menu 3 </a> </li>
      <li><a href="#">  Sous titre 4 du menu 4 </a> </li>   
     
    </ul>
   
    </li>
    <li>
   
    <a href="#">
   
Titre du menu 3   
    </a>
   
    <ul class=niveau3>
   
      <li><a href="#">  Sous titre 1 du menu 2 </a> </li>
      <li><a href="#">  Sous titre 2 du menu 2 </a> </li>
      <li><a href="#">  Sous titre 3 du menu 3 </a> </li>
      <li><a href="#">  Sous titre 4 du menu 4 </a> </li>   
     
    </ul>
     
    </li>
   
   
   
    </ul></li></ul>
   


<ul class=niveau1>
  <li>Menu 2
    <ul class=niveau2>
        <li class=plus>
        <a href="#">
            Titre du menu 2
        </a>
            <ul class=niveau3>
      <li><a href="#">  Sous titre 1 du menu 2 </a> </li>
      <li><a href="#">  Sous titre 2 du menu 2 </a> </li>
      <li><a href="#">  Sous titre 3 du menu 2 </a> </li>
      <li><a href="#">  Sous titre 4 du menu 2 </a> </li>
     
      </ul>
     
      </li>
    <li>
    <a href="#">
    Titre du menu 2
    </a>
   
    <ul class=niveau3>
   
      <li><a href="#">  Sous titre 1 du menu 2 </a> </li>
      <li><a href="#">  Sous titre 2 du menu 2 </a> </li>
      <li><a href="#">  Sous titre 3 du menu 3 </a> </li>
      <li><a href="#">  Sous titre 4 du menu 4 </a> </li>   
     
    </ul>
   
    </li>
    <li>
   
    <a href="#">
   
Titre du menu 3   
    </a>
   
    <ul class=niveau3>
   
      <li><a href="#">  Sous titre 1 du menu 2 </a> </li>
      <li><a href="#">  Sous titre 2 du menu 2 </a> </li>
      <li><a href="#">  Sous titre 3 du menu 3 </a> </li>
      <li><a href="#">  Sous titre 4 du menu 4 </a> </li>   
     
    </ul>
     
    </li>
   
   
   
    </ul></li></ul>

   
   
    </div>   


La partie css

#monmenu {
    font-weight: bold; font-size: 12px; font-family: trebuchet ms,arial,tahoma,verdana,sans-serif
}
#monmenu ul ul {
    border-right: #b0b0b0 1px solid; padding-right: 0px; border-top: #b0b0b0 1px solid; display: none; padding-left: 0px; left: 164px; padding-bottom: 0px; margin: 0px; border-left: #b0b0b0 1px solid; padding-top: 0px; border-bottom: #b0b0b0 1px solid; position: absolute; top: -1px
}
#monmenu li {
    padding-right: 2px; padding-left: 2px; padding-bottom: 2px; margin: 0px; width: 160px; padding-top: 2px; list-style-type: none; position: relative; background-color: #e0e0e0
}
#monmenu li:hover {
    background-color: #ffff70
}
#monmenu li.sfhover {
    background-color: #ffff70
}
#monmenu li a {
    text-decoration: none
}
#monmenu li:hover ul.niveau2 {
    display: block
}
#monmenu li li:hover ul.niveau3 {
    display: block
}
#monmenu li.sfhover ul.niveau2 {
    display: block
}
#monmenu li li.sfhover ul.niveau3 {
    display: block
}
#monmenu li.plus {
    background-position: right 50%; border-bottom: #b0b0b0 1px solid; background-repeat: no-repeat
}

jeudi 7 juin 2012

Le trio HTML5/CSS3/Javascript pour la réalisation d'un popup


0. Rions un peu

J'ai tenté plusieurs fois de réaliser une fenêtre popup juste pour lire les détails concernant un article et sans quitter la page la page en cours. N'ayant pas réussit à le faire je me suis proposé de faire autre chose.
Quelques jours après une mélancolie (longue histoire ...je vous expliquerai un jour ... ), je voulais faire autre chose pour me changer d'idée. Ainsi je suis parvenu à réaliser dans moins de 10 lignes de codes ce que je n'ai pas pu faire.

1. Procédure et utilité

a. Un pop-up (de l'anglais pop-up window qui serait traduit en fancais : une fenêtre surgissante ou fenêtre qui apparait brusquement ) est une fenêtre secondaire qui s'affiche, parfois sans avoir été sollicitée par l'utilisateur devant la fenêtre de navigation principale lorsqu'on navigue sur Internet. (Voir Wikipedia)

Elle est tres utilisée dans des cas de publicités ou la lecture des détails concernant  un article sur le web par exemple.

b. Comme dit ton un exemple bien fait vaux mieux que 10 tuto bien exepliqué : je réalise deux pages html : page_web.html et page_popup.html . En cliquant un liens dans page_web.html, une fenetre popup contenant page_popup.html s'ouvre avec les détails suivants :

largeur : 532px,
hauteur :320px
menubar=no --> C'est à dire que le popup n'a pas de barre de menu,
scrollbars=no --> C'est à dire  qu'il n y a pas de barre de deffillement 

Notons que le script java contient les définitions concernant la position de la page dans l'écran 

page_web.html 


<html>
 <head>
 <script language="javascript">
    function PopupCentrer(page,largeur,hauteur,options)
    {
        var top=(screen.height-hauteur)/2;
        var left=(screen.width-largeur)/2;
        window.open(page,"","top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options);
    }
</script>

<meta http-equiv="Content-Language" content="en-us">
        <title>Page web simple avec popup</title>
</head>

<body>

<a href="javascript:PopupCentrer('popup.html',532,320,'menubar=no,scrollbars=no,statusbar=no')"> Cliquer ici pour acceder à la page popup</a>
                                                   
</body>
</html>


page_popup.html

<html>
 <head>
<meta http-equiv="Content-Language" content="en-us">
        <title> Popup page</title>
</head>

<body>
<div style="background-color:#CCCCCC; height:200px;">

 Je suis un popup                                               
</div>

 </body>
</html>




Vous pouvez télécharger les codes sources ici
Voila c'est tout. Si l'aticle vous semble interressant ou si vous avez des commentaires n'oublier pas à nous le faire savoir : monsar04(at)gmail.com / 00243997647154







samedi 2 juin 2012

Comment faire un navigateur web en C#




Bouton de confirmation en Javascript

1. Contexte
Parfois il nous arrive de demande à l'utilisateur final à confirmer l'action avant son exécution. Cela arrive souvent lorsque par exemple on veux que l'utilisateur final confirme la suppression d'un enregistrement dans une base des données. Il existe plusieurs solutions pour y arriver mais dans les lignes qui suivent , nous avons pu experimenté cela avec quelques lignes de code en utilisant une petite fontion javascript.

Dans l’exemple suivant , le bouton crée demande à l'utilisateur final de confirmer l'execution de l'action, cette action n'est autre que la redirection vers un site web quelconque , on peux mettre autre chose à la place de la redirection , comme executer un script sql dans la bdd, suppression au création d'un autre fichier , connexion reseau , ....

2. Un tuto vaux mieux que un long discours ....
   
 <html>                                                                                                                                                             <head>                                                                                                                                                         <script language=javascript>                                                                                                                        
   function ConfirmMessage() {                                                                                                                      
       if (confirm("Etes vous certain de vouloir executer l'action  ?"))                                                                 
       { //Placer ici l'action a executer par java script (ici je demande à javascrit de faire une redirection)         
           window.location = "http://monsar.blogspot.com.ar/"                                                                           
       }                                                                                                                                                           
   }                                                                                                                                                               
</script>                                                                                                                                                      
        <meta http-equiv="Content-Language" content="en-us">                                                                         
        <title>Confirmation JavaScript</title>                                                                                                    
</head>                                                                                                                                                        
<body>                                                                                                                                                          
<input type="button" value="Executer action" onClick="ConfirmMessage()">                                                      
</body>                                                                                                                                                         
</html>                                                                                                                                                                                                                                                                                                                              
                                                                                                                                                                    
Et voila , si l'article vous a plus ou si vous avez un commentaire , n'oubliez pas de nous le faire savoir :
monsar04atgmail.com / 00243997647154


vendredi 1 juin 2012

Lire les données d'une feuille Excel avec asp.net

Il est possible de lire les données d'une feuille Excel avec asp.net et meme plus d'effectuer une recherche à l'intérieur d'une feuille excel de la meme facon qu'on le ferait dans une base des données. La différence entre la lecture dans une feuille excele et dans une  base des données est que la base des données offre beacup de souplesse , de rapidité , beaucoup de fonctions de manipulations, de calculs dans un temps très reduit avant même l'affichage devant l'écran de l'utilisateur final. 

Voici comment je me suis battu pour parvenir a lire les données d'une feuille excel

0. Name space à ajouter :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Xml;
using System.Text;
using System.Data.OleDb;
using System.Configuration;
using System.Data;






1. Partie HTML 


<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">

<style type="text/css">
tr.sectiontableentry1 td,
tr.sectiontableentry2 td {
  padding: 4px;
  font-family:Trebuchet MS;
    font-size:10px;
}
tr.sectiontableentry1 td {
    padding: 8px 5px;
    background: url(hline.gif) repeat-x bottom;
    font-family:Trebuchet MS;
    font-size:10px;
}
tr.sectiontableentry2 td {
    padding: 8px 5px;
    background: url(hline.gif) repeat-x bottom #F2F2F2;
    font-family:Trebuchet MS;
    font-size:10px;
}
</style>

    <title></title>

</head>
<body>
    <form id="form1" runat="server">

    <div>
  
          <table style="padding: 5px; font-size: 11px;">
        
                <tbody>
              
                <tr>
              
                    <td>
                  
                        <strong>Veuillez selectionner un fichier excel.</strong>
                    </td>
                </tr>
                    <tr>
                        <td>
                        <div style="background: url(hline.gif) repeat-x bottom #F2F2F2;padding: 8px 5px;border-bottom: 1px solid #ccc;">
                            <asp:FileUpload ID="txtFilePath" runat="server"></asp:FileUpload>&nbsp;&nbsp;<asp:Button
                                ID="btnUpload" runat="server" Text="Upload" onclick="btnUpload_Click" />
                            <br />
                            <asp:Label ID="lblMessage" runat="server" Visible="False" Font-Bold="True"
                                ForeColor="#009933"></asp:Label>
                        </div>
                        </td>
                    </tr>
                    <tr>
                        <td>
                        <asp:GridView ID="grvExcelData" runat="server">
                        <RowStyle CssClass="sectiontableentry2" />
                        <AlternatingRowStyle CssClass="sectiontableentry1" />
                        </asp:GridView>                          
                        </td>
                    </tr>
                </tbody>
            </table>
  


    </div>

    </form>
</body>
</html>

 
2. Partie Code

protected void btnUpload_Click(object sender, EventArgs e)
        {


            try
            {
                if ((txtFilePath.HasFile))
                {

                    OleDbConnection conn = new OleDbConnection();
                    OleDbCommand cmd = new OleDbCommand();
                    OleDbDataAdapter da = new OleDbDataAdapter();
                    DataSet ds = new DataSet();
                    string query = null;
                    string connString = "";
                    string strFileName = DateTime.Now.ToString("dd-MM-yyyy-HH-mm-ss");
                    string strFileType = System.IO.Path.GetExtension(txtFilePath.FileName).ToString().ToLower();

                    //Verifions le type de fichier ( excel 1997-2003 ou Excel 2010 ?)
                    if (strFileType == ".xls" || strFileType == ".xlsx")
                    {
                        txtFilePath.SaveAs(Server.MapPath("~/UploadedExcel/" + strFileName + strFileType));
                    }
                    else
                    {
                        lblMessage.Text = "Seulement les fichiers excels sont permis";
                        lblMessage.ForeColor = System.Drawing.Color.Red;
                        lblMessage.Visible = true;
                        return;
                    }

                    string strNewPath = Server.MapPath("~/UploadedExcel/" + strFileName + strFileType);

                    //Etablissons la Connection String Excel
                    if (strFileType.Trim() == ".xls")
                    {
                        connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strNewPath + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=2\"";
                    }
                    else if (strFileType.Trim() == ".xlsx")
                    {
                        connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + strNewPath + ";Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=2\"";
                    }


                    query = "SELECT * FROM [Sheet1$]";

                    //Creons l'objet de connexion
                    conn = new OleDbConnection(connString);
                    //Open connection
                    if (conn.State == ConnectionState.Closed) conn.Open();
                    //Creons l'objet command
                    cmd = new OleDbCommand(query, conn);
                    da = new OleDbDataAdapter(cmd);
                    ds = new DataSet();
                    da.Fill(ds);

                    grvExcelData.DataSource = ds.Tables[0];
                    grvExcelData.DataBind();

                    lblMessage.Text = "Fichier chargé avec succès ! Total d'enregistrement:" + ds.Tables[0].Rows.Count;
                    lblMessage.ForeColor = System.Drawing.Color.Green;
                    lblMessage.Visible = true;

                    da.Dispose();
                    conn.Close();
                    conn.Dispose();
                }
                else
                {
                    lblMessage.Text = "Vous devez d'abord selectionner un fichier Excel";
                    lblMessage.ForeColor = System.Drawing.Color.Red;
                    lblMessage.Visible = true;
                }

            }

            catch (Exception Except)
            {

                throw;
            }

        }







Si l'article vous semble utile ou si vous avez des commentaires à faire ou si vous avez des difficultés n'hésitez pas à me contatcter : monsar04atgmail.com / 00243997647154


dimanche 20 mai 2012

Limiter le nombre des caracteres dans un text box en utilisant javascript et pure html

Je ne suis pas un chevronné en Javascript , j'essaie de fabriquer du code. En bidouillant et en utilisant google comme ami , je suis arrivé à une conclusion qui a sauvé ma journée.

Javascript code :

<script language = "Javascript">
maxL=255;
var bName = navigator.appName;
function taLimit(taObj) {
    if (taObj.value.length==maxL) return false;
    return true;
}
function taCount(taObj,Cnt) {
    objCnt=createObject(Cnt);
    objVal=taObj.value;
    if (objVal.length>maxL) objVal=objVal.substring(0,maxL);
    if (objCnt) {
        if(bName == "Netscape"){    
            objCnt.textContent=maxL-objVal.length;}
        else{objCnt.innerText=maxL-objVal.length;}
    }
    return true;
}
function createObject(objId) {
    if (document.getElementById) return document.getElementById(objId);
    else if (document.layers) return eval("document." + objId);
    else if (document.all) return eval("document.all." + objId);
    else return eval("document." + objId);
}
</script>


HTML Code

<font>
<textarea onKeyPress="return taLimit(this)" onKeyUp="return taCount(this,'myCounter')" name="Description" rows=7 wrap="physical" cols=40>
</textarea>
<br><br>
Il vous reste <B><SPAN id=myCounter>255</SPAN></B> caractere pour les commentaires..</font>

lundi 14 mai 2012

Menu horizontal déroulant en CSS

Vu que ce menu ne fonctionne qu'avec des navigateurs récents, il convient bien entendu de mettre un vrai lien sur l'item survolé, afin que le navigation ne perde rien en cas de non fonctionnement du déroulement du menu. C'est une règle à appliquer aussi si on met une surcouche javascript. Simple histoire de bon sens...


http://css.mammouthland.net/menu-horizontal-deroulant-en-css.php

CSS 3 : Réaliser un fond en dégradé sans image

jeudi 10 mai 2012

Limiter le nombre des caracteres ( couper les caracteres ) d'un texte dans un div avec du css

CODE

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
.cadre
{
overflow:hidden;
white-space:nowrap;
text-overflow: ellipsis;
width:500px;
padding:3px;
height:30px;
border:1px solid #000000;
background-color:#C1C1C1;
}

</style>
</head>
<body>
<div class="cadre">
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Nam cursus. Morbi ut mi. Nullam enim leo, egestas id, condimentum at,
laoreet mattis, massa. Sed eleifend nonummy diam. Praesent mauris ante,
elementum et, bibendum at, posuere sit amet, nibh. Duis tincidunt lectus
quis dui viverra vestibulum. Suspendisse vulputate aliquam dui. Nulla elementum 
</div>
</body>
</html>

RESULTAT








lundi 30 avril 2012

Convertir un text en entier ou entier en text lors d'un select

La formule est simple :
 

SELECT CAST(VotreColoneVarchar AS INT) FROM Table
SELECT CONVERT(INT, VotreColoneVarchar) FROM Table

Exemple 

SELECT CAST(financement AS INT) as Financement_Bailleur FROM Finance

En realite , dans ma table Finance , la colonne financement a été crée par erreur en tant que varchar

mercredi 25 avril 2012

Lire les données d'un fichier Excel (. Xls) dans ASP.NET

Dans cet article, nous allons voir comment afficher des données à partir d'un fichier Excel en utilisant ASP.NET. Nous allons nous connecter au fichier Excel à l'aide du moteur de données OLEDB.NET, extraire les données, puis afficher les données dans un GridView.

1.ajouter dans le fichier web.config


<connectionStrings>
            <add name="xls" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Sample1.xls;Extended Properties=Excel 8.0"/>
            <add name="xlsx" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Sample.xlsx;Extended Properties=Excel 12.0"/>
      </connectionStrings> 

2. CodeSources
protected void Page_Load(object sender, EventArgs e)
    {
        string connString = ConfigurationManager.ConnectionStrings["xls"].ConnectionString;
       
        OleDbConnection oledbConn = new OleDbConnection(connString);
        try
        {
            // ouverture connection
            oledbConn.Open();
            // Creation OleDbCommand
            OleDbCommand cmd = new OleDbCommand("SELECT * FROM [Sheet1$]", oledbConn);
            // Create new OleDbDataAdapter
            OleDbDataAdapter oleda = new OleDbDataAdapter();
            oleda.SelectCommand = cmd;
          
            DataSet ds = new DataSet();
           
            oleda.Fill(ds, "Employees");
            GridView1.DataSource = ds.Tables[0].DefaultView;
            GridView1.DataBind();
        }
        catch
        {
        }
        finally
        {
            // fermeture connection
            oledbConn.Close();
        }     
    }

Asp.net c# tutorial : storing data in sql server

Asp.net c# tutorial : storing data in sql server

jeudi 12 avril 2012

Feuilles de style en fonction du navigateur

Css html
Les habitués de création de sites Internet le savent, il existe beaucoup de différences d’acceptation de codage entre les 2 navigateurs les plus utilisés : Internet Explorer et Mozilla Firefox.

Il faut donc parfois modifier son CSS afin qu’il s’adapte parfaitement aux 2 navigateurs (notamment si vous utilisez des div et position : absolue).
 
Deux methodes existent :
 
1. Javascript :
Voici le code :
 
 <script type="text/javascript">
var nomnav = navigator.appName;
if (nomnav == 'Microsoft Internet Explorer') {
  document.write("<link rel='stylesheet' media='screen' type='text/css' href='style_ie.css'>");
}
else {
  document.write("<link rel='stylesheet' media='screen' type='text/css' href='style.css'>");
}
</script>

2. Feuilles de style dans le head

<head>
   ...
   <link rel="stylesheet" href="css/ff.css" type="text/css" />
   <!--[if IE 6]>
      <link rel="stylesheet" href="css/ie6.css" type="text/css" />
   <![endif]-->
   <!--[if IE 7]>
      <link rel="stylesheet" href="css/ie7.css" type="text/css" />
   <![endif]-->
</head>
 
 

vendredi 16 mars 2012

Excel to sqlserver


Une tuto bien explique vaux mieux qu'un livre dit on. Pas de commentaire, trouver le fichier zip ici  pour exporter les donnees d'un fichier excel vers sql server.Au cas ou ca ne marche pas ; la solution est simple; ecrivez moi a mon  adresse : monsar04[at]gmail.com