2009-12-30 5 views
3

J'ai une page Web avec un lien, et le lien est censé correspondre à un PDF est la langue de l'utilisateur donné. Je me demande où je devrais mettre ces fichiers PDF cependant. Si je les mets dans App_LocalResources, je ne peux pas spécifier un lien vers /App_LocalResources/TOS_en-US.pdf puis-je?Fichiers localisés ASP.NET

Répondre

1

Le fichier PDF ne doit absolument pas figurer dans le dossier App_LocalResources. Ce dossier est uniquement pour les fichiers RESX.

Les fichiers PDF peuvent aller n'importe où dans votre application. Par exemple, un bon endroit pour les mettre serait dans un dossier ~/PDF. Ensuite, vos liens doivent être générées dynamiquement (semblable à ce que Greg a montré):

string cultureSpecificFileName = String.Format("TOS_{0}.pdf", CultureInfo.CurrentCulture.Name); 

Cependant, il y a d'autres choses à considérer:

  1. Vous avez besoin d'un moyen d'assurer que vous avez réellement ont un PDF pour la langue donnée. Si quelqu'un se présente sur votre site et que sa culture est définie comme Klingon, il est peu probable que vous ayez un tel PDF.
  2. Vous devez décider exactement quel sera le format de fichier. Dans l'exemple donné, le fichier devrait être nommé TOS_en-US.pdf. Si vous souhaitez utiliser les noms de culture ISO à deux lettres, utilisez CurrentCulture.TwoLetterISOLanguageName, puis le nom du fichier sera TOS_en.pdf.
0

Je stockerait le nom quelque part avec un argument (ie « TOS_ {0} .pdf »), puis il suffit d'ajouter le suffixe dans le code:

string cultureSpecificFileName = string.Format("TOS_{0}.pdf", CultureInfo.CurrentCulture); 
0

Est-ce que PDF doivent avoir la même nom de fichier pour chacune des langues différentes? Sinon, placez-les tous dans un répertoire et stockez simplement le chemin dans votre fichier de ressources.

Questions connexes