2009-10-08 4 views
1

Je crée une liste avec les fichiers de téléchargement (seulement fichiers txt),C#, ASP, HyperLink

blListDocs.Items.Clear(); 

      string pn = Server.MapPath("../Uploads/Data"); 

      string pathToWebAppRoot = Request.ApplicationPath; 
      string pathToFolder = "/Uploads/Data/"; 
      string urlPath = pathToWebAppRoot + pathToFolder; 

      String[] fileList = Directory.GetFiles(pn); 

      for (int i = 0; i < fileList.Length - 1; i++) 
      { 
       ListItem li = new ListItem(); 
       li.Text = Path.GetFileName(fileList[i]); 
       li.Value = urlPath + li.Text; 
       blListDocs.Items.Add(li); 
      } 

Maintenant, lorsque je clique sur un lien de l'article, le contenu du fichier est l'ouverture dans une autre page Web, mais je aimerais lire le contenu du fichier cliqué dans le contrôle

<asp:TextBox ID="txtReadDocs" runat="server" TextMode="MultiLine" Rows="4"></asp:TextBox> 

Merci beaucoup!

+0

Dans l'une des réponses, vous avez indiqué que vous devez le faire sans JavaScript. Est-ce que cela inclut des contrôles ASP.NET côté serveur qui génèrent automatiquement du JavaScript? Si cela est autorisé, la solution pourrait être beaucoup plus simple. –

Répondre

1

jQuery

function onLinkClick(link) {    
    $.get(link.href, '', function(data) { 
     $("input[id*=txtReadDocs]").val(data); 
    } 
} 
+0

Je suis désolé, mais je dois le faire sans javascript, juste C#, c'est possible? – AlexC

+0

Pourquoi une telle restriction? – ChaosPandion

1

Si vous voulez une implémentation côté serveur lien l'URL de votre page à la même page et ajouter une spécification de paramètre querystring qui fichier texte que vous voulez ... alors vous avez un accès complet à lire le fichier texte et le bourrer dans votre contrôle. Sinon, utilisez la réponse jQuery listée par @ChaosPandion