2010-06-16 5 views
3

Je développe une application asp.net dans laquelle j'ouvre une page HTML stockée sur une machine client sur cette page. J'ai un lien qui va ouvrir la page aspx sur le serveur, Sur cette page aspx, j'ai un bouton qui va ouvrir une autre page html stockée sur la machine client. Depuis que je suis nouveau sur le développement web, Plz m'aide et me propose des solutions pour ce développement.comment ouvrir une page HTML stockée sur une machine client à partir d'une page aspx

Merci ....

Modifié ajouter:

Est-il possible de naviguer entre les pages HTML sur la machine client et pages ASPX sur le serveur sans télécharger le fichier HMTL sur le serveur. Puis-je utiliser un code javascript sur la page ASPX pour ouvrir ma page HTML stockée localement ...

+0

conception Vous avez problème - peut-être vous créer toutes les pages dès que possible. Redessinez votre procédure pour faire votre travail autrement. – Aristos

Répondre

1

La seule façon que vous pouvez accéder à des fichiers sur la machine d'un client est en leur pour vous le téléchargement .

+0

Je ne * pense * pas qu'ils veulent accéder au fichier, mais veulent plutôt déclencher une commande "open-file" pour l'utilisateur. –

0

Vous ne pouvez pas le faire de manière fiable, car le serveur ne sait pas où se trouve la page HTML (quel lecteur, quel répertoire).

Si vous expliquez pourquoi vous essayez de le faire, nous pourrions peut-être vous suggérer une autre conception.

0

Vous ne savez pas exactement ce que vous demandez, mais vous devez créer un dialogue de fichier ouvert. Si vous voulez que la page ASPX lise le fichier HTML sur la machine locale des utilisateurs, vous devez le télécharger.

0

Si je comprends bien, vous avez 2 problèmes:

  1. vous devez rediriger sur votre page ASPX à une page html locale
  2. vous devez rediriger sur une page html locale vers votre page de serveur

résoudre des problèmes n ° 1 vous devez connaître le chemin d'accès absolu à la page html sur la machine client (par exemple C: \. SomePath \ LocalFile.html), puis faire un lien là:

<a href="file:///C:\SomePath\LocalFile.html"> 

Et non, il n'est pas possible d'accéder aux fichiers locaux depuis javascript. Tout au plus, vous pouvez demander à l'utilisateur de pointer vers le fichier local (par exemple, via une entrée de téléchargement de fichier), puis intercepter cet événement et utiliser le chemin d'accès à ce fichier.

window.location.href=document.getElementById('fileInput').value; 

mais même cela est truffé de problèmes car il ne fonctionnera pas dans certains navigateurs, etc.

Pour résoudre nr2 vous aurez probablement besoin d'ajouter un peu de javascript (qui par défaut est désactivé pour les fichiers html locaux !!) et d'utiliser « history.previous » pour détecter le chemin de votre page ASPX public.Quelque chose dans l'ordre de:

window.location.href= history.previous.replace("myfirstpage.aspx","redirectedpage.aspx"); 

qui enverra quelqu'un qui est venu à la page en cours, disons, « http://www.publicserver.com/myfirstpage.aspx », sera redirigé vers « http://www.publicserver.com/redirectedpage.aspx »,

Questions connexes