1、Server.MapPath的用法json
1).Server.MapPath("./") 當前目錄app
2).Server.MapPath("/") 網站主目錄網站
3).Server.MapPath("../") 上層目錄ui
4).Server.MapPath("~/") 網站虛擬目錄this
5).控制檯程序獲取:string path = Environment.CurrentDirectory.ToLower().Replace("bin\\debug","")url
2、獲取文件後綴spa
System.IO.Path.GetExtensiondebug
3、NPOI組件的用法(將excel轉化爲DataTable)excel
4、ToDictionary、ToLookup和Linqcode
5、js替換指定的url參數,沒有則添加,有則修改
function replaceParamVal(paramName, replaceWith) {
var oUrl = this.location.href.toString();
var nUrl = oUrl;
var re1 = eval('/(\&' + paramName + '=)([^&]*)/gi');
var re2 = eval('/(\\?' + paramName + '=)([^&]*)/gi');
if (re1.test(oUrl)) {
nUrl = oUrl.replace(re1, "&" + paramName + '=' + replaceWith);
} else if (re2.test(oUrl)) {
nUrl = oUrl.replace(re2, "?" + paramName + '=' + replaceWith);
}
else {
if (oUrl.indexOf("?") != -1) {
nUrl += "&"+paramName+"="+replaceWith;
} else {
nUrl += "?" + paramName + "=" + replaceWith;
}
}
this.location = nUrl;
}
6、js 滾動條滾動到底部
$(window).scroll(function(){
/// <summary> /// 輸出Excel /// </summary> /// <param name="workBook"></param> /// <param name="fileName"></param> /// <param name="contentEncode"></param> public static void Export(IWorkbook workBook, string fileName) { MemoryStream ms = new MemoryStream(); workBook.Write(ms); HttpResponse httpResponse = HttpContext.Current.Response; httpResponse.AddHeader("Pragma", "public"); httpResponse.AddHeader("Cache-Control", "max-age=0"); httpResponse.AddHeader("Content-Disposition", string.Format("attachment;filename={0}", fileName)); //httpResponse.AddHeader("content-type", "application/x-msdownload"); httpResponse.ContentEncoding = Encoding.UTF8; httpResponse.ContentType = "application/vnd.ms-excel"; httpResponse.BinaryWrite(ms.ToArray()); workBook = null; ms.Close(); ms.Dispose(); }
9、判斷值是否爲指定類型
System.ComponentModel.TypeDescriptor.GetConverter(item.Type).ConvertFrom(dr[item.Key].ToString());
10、動態拼接json
//遞歸構建json static string RecursionMosaicJson(List<ExportsOrderInterfaceFieldVM> fieldList) { StringBuilder sb = new StringBuilder("{"); foreach (var field in fieldList) { if (parentKeyList.Contains(field.ParentID)) { continue; } if (field.ObjectType == InterfaceObjectType.Array.ToString()) { List<ExportsOrderInterfaceFieldVM> list = fieldAllList.Where(l => l.ParentID == field.Id).ToList(); string childrenJson = RecursionMosaicJson(list); parentKeyList.Add(field.Id); sb.AppendFormat("\"{0}\":[{1}],", field.InterfaceFieldName, childrenJson); } else if (field.ObjectType == InterfaceObjectType.Object.ToString()) { sb.AppendFormat("\"{0}\":\"\",", field.InterfaceFieldName); } } string json = sb.ToString().TrimEnd(','); json += "}"; return json; }
11、動態拼接xml
//遞歸構建xml static string RecursionMosaicXml(List<ExportsOrderInterfaceFieldVM> fieldList) { StringBuilder sb = new StringBuilder(""); foreach (var field in fieldList) { if (parentKeyList.Contains(field.ParentID)) { continue; } //xml中的屬性 List<ExportsOrderInterfaceFieldVM> attributeList = fieldAllList.Where(l => l.XMLElementType == XmlElementType.Attribute.ToString() && l.ParentID == field.Id).ToList(); string attrXml = ""; if (attributeList.Count > 0) { foreach (var attr in attributeList) { attrXml += " " + attr.InterfaceFieldName + "=\"\""; } } if (field.ObjectType == InterfaceObjectType.Array.ToString()) { List<ExportsOrderInterfaceFieldVM> list = fieldAllList.Where(l => l.ParentID == field.Id && l.XMLElementType!=XmlElementType.Attribute.ToString()).ToList(); string childrenXml = RecursionMosaicXml(list); parentKeyList.Add(field.Id); sb.AppendFormat("<{0}{2}>{1}</{0}>", field.InterfaceFieldName, childrenXml,attrXml); } else if(field.ObjectType == InterfaceObjectType.Object.ToString()) { sb.AppendFormat("<{0}{1}></{0}>", field.InterfaceFieldName, attrXml); } } string xml = sb.ToString(); return xml; }
12、不經常使用時間轉換
//源格式 字符串轉爲時間 20170709023945000-0700 string refreshTokenTimeout = model.refresh_token_timeout; DateTime dt = DateTime.ParseExact(refreshTokenTimeout, "yyyyMMddHHmmssfffzz00", new CultureInfo("en-GB"));//源格式 時間轉化爲字符串string time = DateTime.Now.ToString("yyyyMMddHHmmssfffzz00");