Appeler fonction vb.net dans href ou autre solution
cs_tortuedu74
Messages postés99Date d'inscriptionvendredi 23 mars 2007StatutMembreDernière intervention27 mai 2009
-
6 mai 2009 à 14:37
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 2020
-
11 mai 2009 à 13:30
Bonjour,
J'ai un code vb.net:
While reader.Read()
prof = reader.Depth
Select Case reader.NodeType
Case XmlNodeType.Element
If prof = 1 Then
Response.Write("<TR>")
Response.Write("<TD>
'ou'
</TD>")
End If
Case XmlNodeType.Text
[...]
et une procédure:
Protected Sub sup_Click(ByVal sender As Object, ByVal e As System.EventArgs)
MsgBox("sup")
End Sub
tout est dans la même page, je voudrais que quand je clic sur un bouton, je puisse appeler ma procédure, quelqu'un peut m'aider SVP?
<%
Dim filename As String = \"C:\Documents and Settings\sinf\Bureau\Bureau2\items.xml\"
Dim reader As XmlTextReader = Nothing
Dim prof As Integer
Dim pos As Integer = 0
' Stop
Try
' Load the reader with the data file and ignore all white space nodes.
reader = New XmlTextReader(filename)
'reader.WhitespaceHandling = WhitespaceHandling.All
' Parse the file and display each of the nodes.
Response.Write(\"<TABLE border=1> selectionner |1 |2 |3 |4 |5 |6 |7 |8 |\")
While reader.Read()
prof = reader.Depth
Select Case reader.NodeType
Case XmlNodeType.Element
If prof = 1 Then
pos = pos + 1
Response.Write(\"----
\")
'MsgBox(pos)
Response.Write(\"")%>
<%
Response.Write(", \")
End If
Case XmlNodeType.Text
Response.Write(\"" & reader.Value & ", \")
Case XmlNodeType.CDATA
' Response.Write(\"<![CDATA[{0}]]>\" & reader.Value)
Case XmlNodeType.ProcessingInstruction
' Response.Write(\"<?{0} {1}?>\" & reader.Name & reader.Value)
Case XmlNodeType.Comment
' Response.Write(\"<!--{0}-->\" & reader.Value)
Case XmlNodeType.XmlDeclaration
' Response.Write(\"<?xml version='1.0'?>\")
Case XmlNodeType.Document
Case XmlNodeType.DocumentType
'Response.Write(\"<!DOCTYPE {0} [{1}]\" & reader.Name & reader.Value)
Case XmlNodeType.EntityReference
'Response.Write(reader.Name)
'Case XmlNodeType.EndElement
' Response.Write(\" \" & reader.Name & \" \")
Case XmlNodeType.EndElement
If prof = 1 Then
'Response.Write(reader.Depth & \" /\" & reader.Name & \"
\")
Response.Write(\"
\" & \"\")
End If
Case XmlNodeType.Whitespace
If prof = 3 Then
Response.Write(\"_, \")
End If
End Select
End While
Response.Write("
")
Finally
If Not (reader Is Nothing) Then
reader.Close()
End If
End Try
%>
</table>
</form>
</html>
et mon code vb:
Protected Sub supprimer_click(ByVal sender As Object, ByVal e As System.EventArgs) Handles supprimer.Click
If ckb1.Equals(True) Then
MsgBox("essai")
End If
End Sub
tu peux m'aider a comprendre comment je peux :
1/ prendre ne compte l'appuie de mon bouton supprimer que si la checkbox est cochée .
2/ changer l'ID de la ckb à chaque nouvelle TD
3/ repérer le numéro de l'enregistrement xml afin de pouvoir le supprimer quand on appuie sur le bouton supprimer?
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 7 mai 2009 à 11:00
Ah oué!
C'est bien ce qui me semblais à première vue, c'est un code de page asp.net ^^
Bon, ça change tout !
Donc voila le développement d'asp.net est un mélange entre le développemnt d'application windows et le dévelopement web asp (html, script, CSS, etc...)
Le problème c'est que le code qui se trouve dans ta form (Code behind) s'éxécute sur le serveur, et le code de la page aspx (Script) coté client, l'un n'est donc pas accessible à l'autre en téhorie.
Les contrôles HTML publiés par ton post (Response.Write) ne son pas acccessible à ton formulaire, mais il le sont via des scipts (vbcript ou javascript), sinon il faut que tu les remplace par des contrôles asp.net (du moins ton CheckBox)
Remplace :
<asp:CheckBox
ID="CheckBox1"
runat="server"
/>
Par:
<
input
type
='checkbox'
name
='ckb'
id
='ckb1'/>
et dans ton code behind :
Protected
Sub supprimer_click(
ByVal sender
As
Object,
ByVal e
As System.EventArgs)
Handles supprimer.Click
If Ckb1.Checked
Then[TON CODE...]
'Si tu veu changer l'id de ton checkbox:Ckb1.ID =
"tonid"
'En suite tu l'appel par:
Dim Chk
As CheckBox = FindControl(
"tonid")
If
Not Chk
Is
Nothing
Then
If Chk.Checked
Then
'[TonCode]'
End
If
End
If
End
Sub
Autres choses:
1\Ton code est brouillon, il y a des parties de code behind balisés en plein millieu de ta page asp j'ai du tout remettre en forme pour comprendre, je te conseille de revoir tout ça pour y voir plus claire...
2\Je ne sais pas trop en quoi consiste ton code, apparemment il écrit des tables su ton form, mais tu peu géré ca d'une autre manière...
Bon courrage tiens moi au courrant, si tu as un souci, envoi moi la source de ton site à contact@mayzzsoft.com
@+
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_tortuedu74
Messages postés99Date d'inscriptionvendredi 23 mars 2007StatutMembreDernière intervention27 mai 2009 7 mai 2009 à 14:21
Oui je me suis bien redu compte que j'avais coder un peu salement, je vais m'en occuper pour que ce soit plus propre.
Pour info, mon code lit des données XML (dans un .xml) et les organisent de manière a former un tableau dynamique.
La ce n'est que la page de test car en réalité, mon code définitif est modifier que quand je suis sûre du code que j'ai tester ici car sinon je ne m'y retrouve plus , il y a beaucoup de pages et de fonctions.
En tout cas je te remercie beaucoup, je garde ton adresse de côté en cas de besoin.
cs_tortuedu74
Messages postés99Date d'inscriptionvendredi 23 mars 2007StatutMembreDernière intervention27 mai 2009 11 mai 2009 à 08:51
Le truc c'est que la base de donnée actuelle est une BDD Firebird et que Visual Studio ne l'attaque pas.
L'entreprise pour laquelle je travaille ne veut pas créer une autre BDD pour l'instant.
Donc mes instructions sont: utiliser un XML, c'est pour ça.
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 11 mai 2009 à 13:30
Bonjour,
Pourquoi fais-tu un Findcontrol depuis ton formulaire ? Appel simplement le contrôle.
Pour ta base Firebird, je dit surement des bétises, mais le XmlDataSource ne prend pas en charge ce type de db ?? (à essayer ce na coute rien)