cs_jimmy69
Messages postés778Date d'inscriptiondimanche 22 décembre 2002StatutMembreDernière intervention27 novembre 2008
-
25 mai 2006 à 18:35
gyzmo222
Messages postés66Date d'inscriptionlundi 27 juin 2005StatutMembreDernière intervention 2 juin 2006
-
25 mai 2006 à 22:54
Bonjour a tous,
Je debute sous asp.net => c# v1.1 avec vs2003 et je liste ma table dans un datagrid tout simplement !
J'ai place une colonne de type de lien hypertext ds laquelle j'ai place ce code :
ds chaine de format url j'ai place ceci :
javascript:VoirNews('{0}');
j'ai place mon champ id dans le champ url !
ensuite dans le head de ma page j'ai place ce code javascript :
Bon qd je lance l'application et que je fais un survol sur une de mes colonnes liens, je vois bien les liens qui sont correctement formates avec le bon id incremente mais si je clique sur le lien !
il ne fait pas la fonction javascript il me dit :
Erreur d'exécution Microsoft JScript: Objet attendu
Si quelqu'un avait une idée merci !
je souhaite donc cliquer sur le lien d'une colonne d'un datagrid et declenche une fonction javascript qui se chargera de lancer une page de details !
gyzmo222
Messages postés66Date d'inscriptionlundi 27 juin 2005StatutMembreDernière intervention 2 juin 20061 25 mai 2006 à 22:54
Salut, je ne pourrais malheureusement pas te répondre préciséement mais un aperçu de 2 méthodes possibles en c# 2.0. A voir si dans le 1.1 c'est réalisable dans les grandes lignes. Je vois une solution par l'ouverture d'une page et passage dans l'url d'un paramètre te permettant d'afficher les détails sur le produit que tu souhaite (type numéro du produit) et voici ce que j'ai déja fait:
Ajout d'un lien dans la huitième colonne (indice 7) du datagrid
foreach (GridViewRow r in GridView1.Rows)
{
if (r.Cells[7].Text == "Available")
{
LinkButton z = new LinkButton();
z.Click += new System.EventHandler(z_Click);
z.ID = r.Cells[1].Text;
z.Text = "voir détails";
z.ForeColor = System.Drawing.Color.Blue;
r.Cells[7].Controls.Add(z);
r.Cells[7].HorizontalAlign = HorizontalAlign.Center;
}
}
--> et définition de la fonction z_click assignée comme évènement au click
public void z_Click(object sender, EventArgs e)
{
Response.Write(@"<script>window.open('../details.aspx?id=" + ((LinkButton)sender).ID.ToString() + "', target='_blank', 'SAMPLE','width=480, height=320, toolbar=no,status=no,directories=no,menubar=no,location=no,scrollbars=no,resizable=yes');</script>");
}
Meme si cette méthode n'est pas la plus propre et peut poser des problèmes avec une mise en page par CSS. Il est plus propre de procéder comme suit (cependant, tu passeras moins facilement ton paramètre...):
Dans ta source aspx.cs:
toncontrol.Attributes.Add("onclick", "infos();");
--> ou toncontrol est le control sur lequel tu fixe le click
dans le head de ta page aspx:
<script type="text/javascript">function infos(){window.open('./details.aspx', 'INFORMATIONS','width=480, height=200,toolbar=no,status=no,directories=no,menubar=no,location=no,scrollbars=no,resizable=no');}</script>
--> ou detail.aspx est ta page à ouvrir