2016-03-21 24 views
-2

Dosyanın uzantısına dayalı bir simge göstermek istiyorum.C# dosya uzantısına font-awesome class

filename.xls < I sınıfı olacak = "fa fa-dosya Excel-o"> </i uzantısı ayıklamak için bir yöntem çağırır bir sınıfında>

(örneğin .xls) ve yöntem bana fa-file- ve -o arasında ayarlanabilir tam adı (örneğin excel) sağlar. İşi halletmeye yardımcı olabilecek hiçbir şey bulamadım. Bulabildiğim en iyi şey jQuery işlevidir:

function GetAttachmentClass(extension) { 
    var classes = new Array ('avi','bmp','css','doc','gif','htm','jpg','js','mov','mp3','mp4','mpg','pdf','php','png','ppt','rar','txt','xls','xml','zip'); 

    if (jQuery.inArray(extension, classes) < 0) { 
     return 'unknown'; 
    } 
    else { 
     return extension; 
    } 
} 

Ancak bu ihtiyacım olan şey değil. Metodda C# içinde olması gerekiyor, böylece benzer bir şey yaptığımda bu işlevi tekrar kullanabilirim. Bugüne kadar

Benim yöntemi: Eğer yöntem jQuery yöntemi ne yapmak istiyorsanız

private void GetAttachmentClass(string extension) 
{ 
    string[] classes = new string[] {"avi", "bmp", "css", "doc", "gif", "htm", "jpg", "js", "mov", "mp3", "mp4", "mpg", "pdf", "php", "png", "ppt", "rar", "txt", "xls", "xml", "zip" }; 
    if (classes.Contains(extension)) 
    { 

    } 

} 
+0

store gibi sınıf adı uzantıları yöntemini çağırabilirsiniz. –

+0

, böylece uzantıyı geçmek ve özel bir simge mi almak istiyorsunuz? veya .htm uyguladığınızda, yöntemin 'html sayfası' gibi bir şey döndürmesini ister misiniz? – Jay

cevap

0

, işe yarayacak: o varsa, bu uzantıyı dönecektir

private string GetAttachmentClass(string extension) 
    { 
     string[] classes = new string[] {"avi", "bmp", "css", "doc", "gif", "htm", "jpg", "js", "mov", "mp3", "mp4", "mpg", "pdf", "php", "png", "ppt", "rar", "txt", "xls", "xml", "zip" }; 
     if (classes.Contains(extension)) 
     { 
      return extension; 
     } 

     return "unknown"; 
    } 

dizisi, yoksa 'bilinmeyen'.

private string GetAttachmentClass(String extension) 
{ 
    Dictionary<string,string> extensionTypes = new Dictionary<string,string> 
    { 
     {"htm", "HTML Page"}, 
     {"xls", "Excel"} 
    }; 

    if(extensionTypes.ContainsKey(extension)) 
    { 
     return extensionTypes[extension]; 
    } 
    return "unknown"; 
} 

Bu değer, ya da 'bilinmeyen' dönecektir: Bir isme uzantısı eşleştirmek istiyorsanız

, size dönmek istiyorum uzantısını ve adını içeren bir sözlük ayarlayabilirsiniz uzantı sözlükte mevcut değil: örn. xls, Excel'i döndürür.

Değeri, ihtiyacınız olan her şey için ayarlayabilirsiniz. Dosyanın simgesini ayıklamak istiyorsanız

1

burada ne yapmaya çalışıyor fakat uzantısını kontrol için bir yoldur açıkça almıyor muyum sen alındı.

 using System.IO; 

    private static void DisplayIcon(string extension) 
    { 
     string extensionArray = { "avi", "bmp", "css", "doc", "gif", "htm", "jpg", "js", "mov", "mp3", "mp4", "mpg", "pdf", "php", "png", "ppt", "rar", "txt", "xls", "xml", "zip" }; 

     var ext = System.IO.Path.GetExtension(""); 

     for (int i = 0; i < extensionArray.Count(); i++) 
     { 
      if (extensionArray[i].Equals(extension)) 
      { 
       // Appropriately return extension here 
      } 
     } 
    } 

Ve bir sözlükte bu

DisplayIcon(Path.GetExtension(@"C:\myFile.xlsx")); 
İlgili konular