1
我有一個ASP.NET web應用程序託管在內置搜索的CMS(sharepoint 2013)上。有效地將擴展字符串映射到圖標URL
當運行與搜索文件查詢,文件類型的唯一標誌是一個擴展的字符串,而無需等待一段"PNG" or "JPG"
格式化我沒有得到文件回來,我剛剛得到的元數據描述文件。要清楚,我沒有得到任何MIME類型或文件對象,我只是得到一個擴展字符串。
我環顧站點尋找這樣的問題,而我沒有看到一個。
好像有可能是某種形式返回一個字符串的方法,並採用一個字符串輸入在其簽名,並搜索通過某種類型的對象集合,如下所示:
最終結果:
static class FileIcons
{
static public string PDF = string.Format("{0}", SPContext.Current.Site.ServerRelativeUrl + "_layouts/15/monkeysphere/images/icons/pdf.png");
static public string Word = string.Format("{0}", SPContext.Current.Site.ServerRelativeUrl + "_layouts/15/monkeysphere/images/icons/word.png");
static public string Generic = string.Format("{0}", SPContext.Current.Site.ServerRelativeUrl + "_layouts/15/monkeysphere/images/icons/file.png");
static private Dictionary<String, String> IconUrls = new Dictionary<String,String>()
{
{"JPG", Picture},{"JPEG", Picture},{"GIF", Picture},{"PNG", Picture},
{"PDF", PDF},{"DOC", Word},{"DOCX", Word},{"XLS", Excel},{"XLSX", Excel},{"PPT", PowerPoint},{"PPTX", PowerPoint}
};
static public string GetIconUrlFromExtension(string extension)
{
var formattedExtension = extension.Trim().Replace(".","").ToUpper();
if (string.IsNullOrEmpty(extension) || !IconUrls.ContainsKey(formattedExtension))
return Generic;
return IconUrls[formattedExtension];
}
}
你將如何處理未知的分機或擴展拼寫錯誤?檢查null並插入默認值? – Wesley
我會檢查'Dictionary'是否包含該值,如果沒有,則返回一個默認值。 編輯:看我更新的例子。 – Jeremy
我想用.ContainsKey代替.Contains – Wesley