[ASP.Net] Comment remplir une textBox de facon dynamique ?

Comment remplir une textBox de facon dynamique ? [ASP.Net] - C#/.NET managed - Programmation

Marsh Posté le 07-02-2004 à 15:03:46    

Salut,
 
J'ai crée une page en ASPX qui permet d'envoyer un mail, le problème est que je voudrais remplir automatiquement le champ Expéditeur en détectant l'utilisateur, pour ca aucun problème, le problème est que je voudrais remplacer Text="un texte écrit en dur" par Text="le nom de mon utilisateur qui a été détecté"
 
Voila le code qui détecte l'utilisateur loggué sur IIS quand on ouvre la page:
 

Code :
  1. <%
  2. Dim utilisateur, redirpage, nomuser As String
  3. Dim tabl(2) As String
  4. utilisateur = Request.ServerVariables("AUTH_USER" )
  5. utilisateur = utilisateur.ToLower()
  6. tabl = split(utilisateur,"\",-1,1)
  7. nomuser = tabl(1)
  8. %>


 
Voilà la ligne qui crée la TextBox:
 

Code :
  1. <asp:TextBox runat="server" Height="22px" Width="368px" ID="txtDe" Text="un texte en dur"></asp:TextBox>


 
Ma question est donc comment placer la variable nomuser dans la TextBox ? car Text="" n'accèpte qu'une chaine et non une variable...
J'espère etre clair, sinon n'hésitez pas a me poser une question :)


Message édité par Webman le 07-02-2004 à 15:13:03
Reply

Marsh Posté le 07-02-2004 à 15:03:46   

Reply

Marsh Posté le 07-02-2004 à 15:27:46    

un truc du style il me semble
 

Code :
  1. <asp:TextBox runat="server" Height="22px" Width="368px" ID="txtDe" Text="un texte en dur"><% maVariable %></asp:TextBox>

Reply

Marsh Posté le 07-02-2004 à 15:36:16    

Merci de ta réponse :)
 
Alors voilà mon code (j'ai enlevé ce qui ne sert à rien:les autres boutons, textBox,...)
 
 

Code :
  1. <%
  2. Dim utilisateur, redirpage, nomuser As String
  3. Dim tabl(2) As String
  4. utilisateur = Request.ServerVariables("AUTH_USER" )
  5. utilisateur = utilisateur.ToLower()
  6. tabl = split(utilisateur,"\",-1,1)
  7. nomuser = tabl(1)
  8. %>
  9. <form runat="server">
  10. <asp:TextBox runat="server" Height="22px" Width="368px" ID="txtDe" Text=><% nomuser %></asp:TextBox>
  11. </form>


 
Et là le compilateur me dit nomuser n'est pas déclaré, (ce qui est vrai), mais je ne sais pas comment faire pour qu'il soit déclaré correctement...

Reply

Marsh Posté le 07-02-2004 à 15:52:19    

euh... il est déclaré, mais peut-être pas initialisé. fais une trace.  
 
Moi je bosse en C# alors le code VB...
 
En C# il faut déclarer les variable en protected pour pouvoir les utiliser depuis le codebehind. Mais je pense pas qu'en VB il y aie cette notion (quoique)

Reply

Marsh Posté le 07-02-2004 à 16:04:03    

Code :
  1. <%
  2. Protected nomuser As String
  3. Dim utilisateur, redirpage As String
  4. Dim tabl(2) As String
  5. utilisateur = Request.ServerVariables("AUTH_USER" )
  6. utilisateur = utilisateur.ToLower()
  7. tabl = split(utilisateur,"\",-1,1)
  8. nomuser = tabl(1)
  9. %>
  10.  
  11. <form runat="server">
  12. <asp:TextBox runat="server" Height="22px" Width="368px" ID="txtDe" Text=><% nomuser %></asp:TextBox> 
  13. </form>


 
 
J'ai essayé de déclarer mes varaibles en Protected mais il me dit: 'Protected' n'est pas valide dans une déclaration de variable locale. De plus tout le reste de la page est codée en VB alors je ne peux pas passer en C#... Arf c'est vraiment dommage il ne manquait plus que ca dans ce formulaire... Le problème c'est que je suis pas doué en prog :/
 
Enfin merci quand même pour ton aide :)


Message édité par Webman le 07-02-2004 à 16:07:04
Reply

Marsh Posté le 07-02-2004 à 16:28:56    

et comme ça

Code :
  1. <asp:TextBox runat="server" Height="22px" Width="368px" ID="txtDe" Text="<% nomuser %>"></asp:TextBox> 
  2.   </form>


Reply

Marsh Posté le 07-02-2004 à 16:34:40    

Non ca me mets le chaine <% nomuser %> dans la zone de texte et non le contenu de la variable...


Message édité par Webman le 07-02-2004 à 16:34:50
Reply

Marsh Posté le 07-02-2004 à 16:39:05    

Je crois que je vais contourner le problème en empéchant l'utilisateur de choisir l'expéditeur, en le mettant en dur mais toujours en fonction de son nom d'utilisateur que je récupère grave au code que j'ai mis plus haut dans ce post... comme ca plus de problème de ce côté là...
Mais si t'as une autre idée je suis bien évidemment preneur !! et encore emrci de ton aide :jap:

Reply

Marsh Posté le 07-02-2004 à 16:39:45    

et ça ? Dernier essai
 

Code :
  1. <asp:TextBox runat="server" Height="22px" Width="368px" ID="txtDe" Text=<% nomuser %>></asp:TextBox>   
  2.   </form>

Reply

Marsh Posté le 07-02-2004 à 16:44:02    

Une autre erreur...
 
Message d'erreur de l'analyseur: Les balises serveur ne peuvent pas contenir des constructions <% ... %>.
 
Merci beaucoup quand même :jap:

Reply

Marsh Posté le 07-02-2004 à 16:44:02   

Reply

Marsh Posté le 07-02-2004 à 16:46:32    

ça marche ça chez moi
 

Code :
  1. <asp:TextBox runat="server" Height="22px" Width="368px" ID="txtDe" Text="un texte en dur"><% =nomuser %></asp:TextBox>


Message édité par jagstang le 07-02-2004 à 16:47:31
Reply

Marsh Posté le 07-02-2004 à 16:47:56    

manquait le =

Reply

Marsh Posté le 07-02-2004 à 16:56:36    

Toujours le même problème...
 
Message d'erreur du compilateur: BC30451: Le nom 'nomuser' n'est pas déclaré.

Reply

Marsh Posté le 07-02-2004 à 19:43:00    

donne TOUT le code stp...  
 
tu as du déclarer cette variable dans un fct c'est pas possible

Reply

Marsh Posté le 08-02-2004 à 10:03:25    

Salut, voilà le code complet de ma page, tu vas voir c'est codé à la barbare... :d Il y a de l'ASP un peu partout...
 

Code :
  1. <%@ Page Language="VB" %>
  2. <%@ Import Namespace="System.Web.Mail" %>
  3. <script runat="server">   
  4.    Sub BoutonEnvoyer_Click(sender as object, e as EventArgs)
  5.  Dim utilisateur, redirpage, user, domaine, tabl(2) As String  'Déclaration des variables pour récupération du nom d'utilisateur...
  6.  utilisateur = Request.ServerVariables("AUTH_USER" )
  7.  utilisateur = utilisateur.ToLower()
  8.  tabl = split(utilisateur,"\",-1,1)
  9.  user = tabl(1)
  10.  domaine = tabl(0)
  11.  
  12.      Dim objEmail as New MailMessage()
  13.  objEmail.To = txtA.Text
  14.  objEmail.From = txtDe.Text
  15.  objEmail.Cc = txtCc.Text
  16.  objEmail.Subject = txtSujet.Text
  17.  objEmail.Body = txtMessage.Text
  18.  objEmail.Priority = MailPriority.Normal      'Définie la priorité des mails à normal
  19.  objEmail.BodyFormat = MailFormat.Html           'Envoie les mails au format HTML
  20.  'Definition du serveur de mail, ici localhost car le serveur SMTP se trouve sur la meme machine
  21.         SmtpMail.SmtpServer = "localhost"
  22.  try
  23.   SmtpMail.Send(objEmail)
  24.   txtA.Text =""
  25.   txtCc.Text = ""
  26.   txtSujet.Text = ""
  27.   txtDe.Text = ""
  28.   txtMessage.Text ="Votre mail à été envoyé avec succés"
  29.   txtNom.Text= ""
  30.  catch exc as Exception
  31.   txtMessage.Text ="L'envoi du mail à échoué" & exc.ToString()
  32.  End Try
  33.     End Sub
  34.    
  35.    
  36. </script>
  37. <HTML>
  38. <HEAD>
  39. <TITLE>CASIR Project mail sender</TITLE>
  40. <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
  41. </HEAD>
  42. <BODY>
  43. <p>&nbsp;</p>
  44. <table with="75%" align="center">
  45. <tr>
  46. <td>
  47. <b>
  48. <font face="Verdana" size="3">Votre adresse mail:
  49.  <%
  50.  Dim utilisateur, redirpage As String
  51.  Dim tabl(2) As String
  52.  utilisateur = Request.ServerVariables("AUTH_USER" )
  53.  utilisateur = utilisateur.ToLower()
  54.  tabl = split(utilisateur,"\",-1,1)
  55.   Response.Write(tabl(1) & "@" & tabl(0) & ".local" )
  56.  %>
  57. </font>
  58. </b>
  59. <td>
  60. </tr>
  61. </table>
  62. &nbsp;<p>
  63. <br />
  64.  </p>
  65.  <form runat="server">
  66.                 <div align="center">
  67.                 <table border="0" width="544">
  68.                 <tr>
  69.      <td valign="top" align="left" width="13%">
  70.      <p align="right">
  71.      <font face="Verdana" size="2">Nom:</font>
  72.      </td>
  73.      <td height="24" width="85%" align="left"> 
  74.      <p> 
  75.      <asp:TextBox runat="server" Height="25px" Width="370px" ID="txtNom" BackColor="#CCCCCC"></asp:TextBox>
  76.      <br>
  77.      <asp:RequiredFieldValidator ID = "req1" ControlToValidate = "txtNom" Runat = "server" ErrorMessage = "Votre nom"></asp:RequiredFieldValidator>
  78.      </td>
  79.     </tr>
  80.     <tr>
  81.      <td valign="top"><font face="Verdana" size="2">De:</font></td>
  82.      <td height="24"> <asp:TextBox runat="server" Height="22px" Width="368px" ID="txtDe"></asp:TextBox>
  83.      <br>
  84.      <asp:RegularExpressionValidator ID = "reg1" ControlToValidate = "txtDe" Runat = "server" ErrorMessage = "Adresse non valide" ValidationExpression="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>&nbsp;<asp:RequiredFieldValidator ID = "req3" ControlToValidate = "txtDe" Runat = "server" ErrorMessage = "Donnez votre adresse mail" ></asp:RequiredFieldValidator></td>
  85.     </tr>
  86.     <tr>
  87.      <td valign="top" align="left" width="13%">
  88.      <p align="right">
  89.      <font face="Verdana" size="2">A:</font>
  90.      </td>
  91.      <td height="24" valign="top" width="85%">
  92.      <p align="left">
  93.      <asp:TextBox runat="server" Height="22px" Width="368px" ID="txtA" BackColor="#CCCCCC"></asp:TextBox>
  94.      <br>
  95.      <asp:RegularExpressionValidator ID = "reg2" ControlToValidate = "txtA" Runat = "server" ErrorMessage = "Adresse non valide" ValidationExpression="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>
  96.      <asp:RequiredFieldValidator ID = "req4" ControlToValidate = "txtA" Runat = "server" ErrorMessage = "Veuillez entrer le nom du destinataire" ></asp:RequiredFieldValidator>
  97.      </td>
  98.     </tr>
  99.     <tr>
  100.      <td valign="top" align="left" width="13%">
  101.      <p align="right">
  102.      <font face="Verdana" size="2">Cc:</font>
  103.      </td>
  104.      <td height="24" valign="top" width="85%">
  105.      <p align="left">
  106.      <asp:TextBox runat="server" Height="22px" Width="368px" ID="txtCc" BackColor="#CCCCCC"></asp:TextBox>
  107.      <br>
  108.      <asp:RegularExpressionValidator ID = "reg3" ControlToValidate = "txtCc" Runat = "server" ErrorMessage = "Adresse non valide" ValidationExpression="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>
  109.      </td>
  110.     </tr>
  111.     <tr>
  112.      <td valign="top" align="left" width="13%">
  113.      <p align="right">
  114.      <font face="Verdana" size="2">Sujet:</font>
  115.      </td>
  116.      <td height="24" width="85%"> 
  117.      <p align="left">   <asp:TextBox runat="server" Height="25px" Width="370px" ID="txtSujet" BackColor="#CCCCCC"></asp:TextBox>
  118.      <br>
  119.      <asp:RequiredFieldValidator ID = "req5" ControlToValidate = "txtNom" Runat = "server" ErrorMessage = "Veuillez entrer un sujet"></asp:RequiredFieldValidator>
  120.      </td>
  121.     </tr>
  122.     <tr>
  123.      <td valign="top" align="left" width="13%">
  124.      <p align="right"><font face="Verdana" size="2">Message:</font></td>
  125.      <td height="112" width="85%">
  126.      <p align="left"> <asp:TextBox runat="server" Height="110px" TextMode="MultiLine" Width="368px" ID="txtMessage" BackColor="#CCCCCC"></asp:TextBox>
  127.      <br>
  128.      <asp:RequiredFieldValidator ID = "req2" ControlToValidate = "txtMessage" Runat = "server" ErrorMessage = "Veuillez entrer votre message"></asp:RequiredFieldValidator>
  129.      </td>
  130.     </tr>
  131.     <tr>
  132.      <td colspan="2" valign="top" height="30" align="left">
  133.      <p align="center">
  134.      <asp:Button Runat = server ID = BoutonEnvoyer OnClick = BoutonEnvoyer_Click Text = "Envoyer"></asp:Button>
  135.      <input type = "reset" runat = "server" value = "Annuler"></td>
  136.     </tr>
  137.     </table>
  138.    <!-- Cette page constitue le  formulaire mail de CASIR Project-->
  139.     <asp:Calendar align="center" id="objCalendar" runat="server"/>
  140.  </form>
  141.    <p align="center"><a target="_top" href="../auth.aspx">Retour à votre Intranet</a></div>
  142. </BODY>
  143. </HTML>


Message édité par Webman le 08-02-2004 à 10:25:18
Reply

Marsh Posté le 08-02-2004 à 10:29:25    

Le code va te retourner une erreur lors de la compilation si il n'obtient pas un utilisateur authentifié par IIS lors de son éxécution, ou alors il faut modifier les tabl(1) par tabl(0) sinon il va te dire index hors de la taille du tableau...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed