1.网页自动刷新 <meta http-equiv="refresh" content="1000" />,这个标签的功能还真是强大,长见识了。
2.设为首页 <pre class="javascript" name="code"><script language="javascript" type="text/javascript">
function setHomepage() { // 设为首页
if (document.all){
document.body.style.behavior = 'url(#default#homepage)';
document.body.setHomePage('http://www.zhangyongbin.cn');
}
else if (window.sidebar) {
if (window.netscape) {
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
}
catch (e) {
alert("该操作被浏览器拒绝,假如想启用该功能,请在地址栏内输入 about:config,然后将项 signed.applets.codebase_principal_support 值该为true");
}
}
var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);
prefs.setCharPref('browser.startup.homepage', 'http://www.woso.cn');
}
}
</script>
3.给搜索框的导航添加样式,选中一个变色,这个用jq操作,添加点击事件,通过attr获取标签属性值,通过addclass ,removeclass 和siblings搞定。具体代码如下
#regin
<script type="text/javascript">
jQuery(function () {
var daoh = "2";
var searchval;
jQuery("#searchid a").click(function () {
jQuery(this).addClass("seach_nav on").siblings().removeClass("seach_nav on");
daoh = jQuery(this).attr("cc");
if (daoh == "8") {
jQuery(this).attr("class", "");
}
});
});
</script>
#endregin
4.选项卡形式的延时加载(脚本太大如需要请联系我)
<script type="text/javascript">
$(function () {
$("img[original]").lazyload({ placeholder: "myimages/grey.gif" });
});
// 部分区域图片延迟加载
function lazyloadForPart(container) {
container.find('img').each(function () {
var original = $(this).attr("original");
if (original) {
$(this).attr('src', original).removeAttr('original');
}
});
}
function setContentTab(name, curr, n) {
for (i = 1; i <= n; i++) {
var menu = document.getElementById(name + i);
var cont = document.getElementById("con_" + name + "_" + i);
menu.className = i == curr ? "current" : "";
if (i == curr) {
cont.style.display = "block";
lazyloadForPart($(cont));
} else {
cont.style.display = "none";
}
}
}
</script>
5.定时更新,定时器的类在这直说system.Time.time ,写这个的感谢好些人的技术上的友情赞助,interval这个方法,事件间隔的出发时间二十分钟内网站没有访问的话
定时器就会被回收了,所以需要第一条的meta标签,或者其他访问网站的方法。
protected void Application_Start(Object sender, EventArgs e)
{
MakeIndexHtml s = new MakeIndexHtml();
Timer aTimer = new Timer();
aTimer.Elapsed += new ElapsedEventHandler(s.btn_makeIndex_Click); 此事件是抓取其他网站信息,以达到更新的目的。
aTimer.Interval = 1000 * 60 *19;
aTimer.AutoReset = true;
aTimer.Start();
}
6.期间为了实现定时器这一功能,一些server的方法得不能用了,转义的Server.HtmlDecode(),读取xml,html文件是忽略空格,获取文件物理路径Server.MapPath();
Server.MapPath("") :返回当前页面所在的物理文件路径
Server.MapPath("/") :返回应用程序根目录所在的物理文件路径
Server.MapPath("./") :返回当前页面所在的物理文件路径
Server.MapPath("../"):返回当前页面所在的上一级的物理文件路径
Server.MapPath("~/"):返回应用程序的虚拟目录(路径)
Server.MapPath("~"):返回应用程序的虚拟目录(路径)
哥们在此借花献佛了。在定时器运行的时候需要使用这个HttpRuntime.AppDomainAppPath+“”
7.读取XML 需要使用这个专门处理xml的类
XmlDocument xx = new XmlDocument();
xx.Load("http://news.youdao.com/top?ct=all&doctype=rss");从指定url读取xml
XmlNodeList xmlList = xx.SelectNodes("rss/channel/item/description");
此xml里面还存在html我在这里用的是人家写好的dll ,在就就不细说了。
8,在读取图片的时候,src明明有,很存在加载失败的问题,为此写了个验证状态码的方法。
public int GetStatusCode(string url)
{
HttpWebRequest request = null;
HttpWebResponse response = null;
try
{
request = (HttpWebRequest)WebRequest.Create(url);
request.ContentType = "application/x-www-form-urlencoded";
request.UserAgent = "Mozilla/5.0 (Windows NT 5.2) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.186 Safari/535.1";
request.Method = "GET";
//如果请允许跳转,请求的地址跳转到最后一个页面的地址状态
request.AllowAutoRedirect = false;
response = (HttpWebResponse)request.GetResponse();
return (int)response.StatusCode;
}
catch (WebException webex)//404,500等getresponse时会异常
{
response = (HttpWebResponse)webex.Response;
if (response != null)
return (int)response.StatusCode;
return -1;
}
catch
{
return -1;
}
finally
{
if (response != null)
{
response.Close();
}
}
}
状态码为200就ok了,搜一贼。
9,发现个小东西,太鄙陋了javascript:"window.history.go(-1);" histotry 是网址url集合,跟document一样的内置对象,go的方法的参数为数字的,默认当前的为0,
为-1表示跳转到之前浏览的页面。s
10,access数据库数据,导入到sql server中,原来这么简单,只需在工具栏中的找到那个处理sql的按钮,按步骤即可。
11.session 默认过期时间是20分钟,以以类似散列表的形式存在服务端,如果数据量大的话会对服务器产生一定压力;cookie 默认过期时间是1000分钟,存在客户端,
所以不安全,防止别人解析进行cookie欺诈,cookie的大小为4k。
MVC 部分
1.excel导出,直接上代码了
<p> public ActionResult OutPutExcelForKindergarten(string syjCode, string name)
{
try
{
var rq = AllRestRequst.Build(CateringUnitMethod.QuerySchoolCateringUnitBySyjCodeAndName, Method.GET, false);
rq.AddParameter("syjCode", syjCode);
rq.AddParameter("name", name);
rq.AddParameter("pageIndex", 1);
rq.AddParameter("pageSize", 10000);
var obj = RestServiceProvider.Instance.SendRequest<ResponseRaw<CateringUnitDtos>>(rq, CateringUnitUrl);
List<CateringUnit> OutPutExcelList = new List<CateringUnit>();
foreach (var cateringunit in obj.GetEntity().CateringUnits)
{
CateringUnit oupcateringUnit = new CateringUnit();
oupcateringUnit.Id = cateringunit.Id;
oupcateringUnit.Name = cateringunit.Name;
oupcateringUnit.Address = cateringunit.Address;
oupcateringUnit.Phone = cateringunit.Phone;
oupcateringUnit.Syj = cateringunit.Syj;
oupcateringUnit.CirculationLicense = cateringunit.CirculationLicense;
oupcateringUnit.Status = cateringunit.Status;
oupcateringUnit.Principal = cateringunit.Principal;
oupcateringUnit.PrincipalPhone = cateringunit.PrincipalPhone;
oupcateringUnit.CateringUnitCategory = cateringunit.CateringUnitCategory;
oupcateringUnit.Kindergarten = cateringunit.Kindergarten;
oupcateringUnit.StartDate = cateringunit.StartDate;
oupcateringUnit.EndDate = cateringunit.EndDate;
oupcateringUnit.LegalPerson = cateringunit.LegalPerson;
oupcateringUnit.ContractPerson = cateringunit.ContractPerson;
oupcateringUnit.Remark = cateringunit.Remark;
OutPutExcelList.Add(oupcateringUnit);
}
string path = Server.MapPath("~/Tmp");
if (!Directory.Exists(path))
Directory.CreateDirectory(path);
string file = Path.Combine(path, "CateringUnitList.xls");
if (System.IO.File.Exists(file))
System.IO.File.Delete(file);
OutPutExcelPath(OutPutExcelList, file);
Response.AddHeader("Content-Disposition", "attachment;filename =" + HttpUtility.UrlEncode("餐饮单位列表", System.Text.Encoding.UTF8) + ".xls");//经典模式
//输出
return File(file, "application/msexcel");
}
catch (Exception e)
{
return Content("<script>alert('导出失败!原因:" + e.Message + "')</script>", "text/html");
}
}
public void OutPutExcelPath(List<CateringUnit> list, string path)
{
try
{
#region 创建Excel
using (FileStream fs = new FileStream(path, FileMode.OpenOrCreate, FileAccess.ReadWrite))
{
HSSFWorkbook wb = new HSSFWorkbook();
ISheet sheet = wb.CreateSheet("AwardsRecord");
IRow rowHeader = sheet.CreateRow(0);
rowHeader.Cells.AddRange(new ICell[]{
rowHeader.CreateCell(0,CellType.String),//名称
rowHeader.CreateCell(1,CellType.String),//地址
rowHeader.CreateCell(2,CellType.String),//电话
rowHeader.CreateCell(3,CellType.String),//所属药局
rowHeader.CreateCell(4,CellType.String),//餐饮服务许可证号
rowHeader.CreateCell(5,CellType.String),//状态
rowHeader.CreateCell(6,CellType.String),//负责人
rowHeader.CreateCell(7,CellType.String),//负责人电话
rowHeader.CreateCell(8,CellType.String),//餐饮单位类别
rowHeader.CreateCell(9,CellType.String),//学校
rowHeader.CreateCell(10,CellType.String),//餐饮服务许可证有效起始日期
rowHeader.CreateCell(11,CellType.String),//餐饮服务许可证有效到期日期
rowHeader.CreateCell(12,CellType.String),//法人
rowHeader.CreateCell(13,CellType.String),//联系人
rowHeader.CreateCell(14,CellType.String)//备注
});
rowHeader.Cells[0].SetCellValue("名称");
rowHeader.Cells[1].SetCellValue("地址");
rowHeader.Cells[2].SetCellValue("电话");
rowHeader.Cells[3].SetCellValue("所属药局");
rowHeader.Cells[4].SetCellValue("餐饮服务许可证号");
rowHeader.Cells[5].SetCellValue("状态");
rowHeader.Cells[6].SetCellValue("负责人");
rowHeader.Cells[7].SetCellValue("负责人电话");
rowHeader.Cells[8].SetCellValue("餐饮单位类别");
rowHeader.Cells[9].SetCellValue("学校");
rowHeader.Cells[10].SetCellValue("餐饮服务许可证有效起始日期");
rowHeader.Cells[11].SetCellValue("餐饮服务许可证有效到期日期");
rowHeader.Cells[12].SetCellValue("法人");
rowHeader.Cells[13].SetCellValue("联系人");
rowHeader.Cells[14].SetCellValue("备注");
//循环,添加数据
for (int i = 1; i <= list.Count; i++)
{
IRow r = sheet.CreateRow(i);
r.Cells.AddRange(new ICell[]{
r.CreateCell(0,CellType.String),//名称
r.CreateCell(1,CellType.String),//地址
r.CreateCell(2,CellType.String),//电话
r.CreateCell(3,CellType.String),//所属药局
r.CreateCell(4,CellType.String),//餐饮服务许可证号
r.CreateCell(5,CellType.String),//状态
r.CreateCell(6,CellType.String),//负责人
r.CreateCell(7,CellType.String),//负责人电话
r.CreateCell(8,CellType.String),//餐饮单位类别
r.CreateCell(9,CellType.String),//学校
r.CreateCell(10,CellType.String),//餐饮服务许可证有效起始日期
r.CreateCell(11,CellType.String),//餐饮服务许可证有效到期日期
r.CreateCell(12,CellType.String),//法人
r.CreateCell(13,CellType.String),//联系人
r.CreateCell(14,CellType.String)//备注
});
//var cs = wb.CreateCellStyle();
//cs.DataFormat = wb.CreateDataFormat().GetFormat("yyyy-mm-dd HH:mm:ss");
//r.Cells[2].CellStyle = cs;
r.Cells[0].SetCellValue(list[i - 1].Name);
r.Cells[1].SetCellValue(list[i - 1].Address);
r.Cells[2].SetCellValue(list[i - 1].Phone);
r.Cells[3].SetCellValue(list[i - 1].Syj.Name);
r.Cells[4].SetCellValue(list[i-1].CirculationLicense);
r.Cells[5].SetCellValue(list[i - 1].Status==true?"有效":"无效");
r.Cells[6].SetCellValue(list[i - 1].Principal);
r.Cells[7].SetCellValue(list[i - 1].PrincipalPhone);
r.Cells[8].SetCellValue(list[i - 1].CateringUnitCategory.Name);
r.Cells[9].SetCellValue(list[i - 1].Kindergarten!=null?list[i - 1].Kindergarten.Name:"");
r.Cells[10].SetCellValue(list[i-1].StartDate);
r.Cells[11].SetCellValue(list[i - 1].EndDate);
r.Cells[12].SetCellValue(list[i - 1].LegalPerson);
r.Cells[13].SetCellValue(list[i - 1].ContractPerson);
r.Cells[14].SetCellValue(list[i - 1].Remark);
}
wb.Write(fs);
}
#endregion
}
catch (Exception)
{
throw;
}
}</p><p>
2.excel 导入 用到了NPOI,需要的可以网上下载最新版</p><p> </p><pre class="csharp" name="code"> [HttpPost]
[ValidateAntiForgeryToken]
public ActionResult ImportExcelFile(HttpPostedFileBase file, FormCollection collection)
{
var name = Path.GetFileName(file.FileName);
string ExcelName = "CaterinUnit" + DateTime.Now.ToString("yyyy-MM-dd") + name;
string FileImageName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory + ConfigurationManager.AppSettings["UploadTemp"] + "UpLoadImportExcel\\", ExcelName);
file.SaveAs(Server.MapPath("~/UpLoadImportExcel/" + ExcelName));
DataTable cateringUnitDt= RenderDataTableFromExcel(FileImageName);
List<CateringUnitDto> caterings = new List<CateringUnitDto>();
var result = new CateringUnitDtos { CateringUnits = new List<CateringUnitDto>() };
if (cateringUnitDt.Rows.Count > 0)
{
for (int i = 0; i < cateringUnitDt.Rows.Count; i++)
{
CateringUnitDto catering = new CateringUnitDto();
string alertlengthmsg = "";
if (cateringUnitDt.Rows[i]["名称"].ToString().Length < 100)
{
catering.Name = cateringUnitDt.Rows[i]["名称"].ToString();
}
else {
alertlengthmsg ="名称 "+cateringUnitDt.Rows[i]["名称"].ToString()+" 长度太长!";
Response.Write("<script>window.parent.window.RunJS(\"" + alertlengthmsg + "\");</script>");
return View("Import");
}
if (cateringUnitDt.Rows[i]["地址"].ToString().Length < 100)
{
catering.Address = cateringUnitDt.Rows[i]["地址"].ToString();
}
else {
alertlengthmsg = "地址 " + cateringUnitDt.Rows[i]["地址"].ToString() + " 长度太长!";
Response.Write("<script>window.parent.window.RunJS(\"" + alertlengthmsg + "\");</script>");
return View("Import");
}
if (cateringUnitDt.Rows[i]["电话"].ToString().Length < 20)
{
catering.Phone = cateringUnitDt.Rows[i]["电话"].ToString();
}
else {
alertlengthmsg = "电话 " + cateringUnitDt.Rows[i]["电话"].ToString() + " 长度太长!";
Response.Write("<script>window.parent.window.RunJS(\"" + alertlengthmsg + "\");</script>");
return View("Import");
}
if (cateringUnitDt.Rows[i]["餐饮服务许可证号"].ToString().Length < 50)
{
catering.CirculationLicense = cateringUnitDt.Rows[i]["餐饮服务许可证号"].ToString();
}
else {
alertlengthmsg = "餐饮服务许可证号 " + cateringUnitDt.Rows[i]["餐饮服务许可证号"].ToString() + " 长度太长!";
Response.Write("<script>window.parent.window.RunJS(\"" + alertlengthmsg + "\");</script>");
return View("Import");
}
if (cateringUnitDt.Rows[i]["负责人"].ToString().Length < 20)
{
catering.Principal = cateringUnitDt.Rows[i]["负责人"].ToString();
}
else {
alertlengthmsg = "负责人 " + cateringUnitDt.Rows[i]["负责人"].ToString() + " 长度太长!";
Response.Write("<script>window.parent.window.RunJS(\"" + alertlengthmsg + "\");</script>");
return View("Import");
}
if (cateringUnitDt.Rows[i]["负责人电话"].ToString().Length < 20)
{
catering.PrincipalPhone = cateringUnitDt.Rows[i]["负责人电话"].ToString();
}
else {
alertlengthmsg = "负责人电话 " + cateringUnitDt.Rows[i]["负责人电话"].ToString() + " 长度太长!";
Response.Write("<script>window.parent.window.RunJS(\"" + alertlengthmsg + "\");</script>");
return View("Import");
}
catering.Status = cateringUnitDt.Rows[i]["是否有效"].ToString() == "1" ? true : false;
catering.CateringUnitCategory.Code = cateringUnitDt.Rows[i]["餐饮单位类别"].ToString();
catering.Syj.Id=((SyjUserDto)Session["user"]).Syj.Id;
catering.StartDate =Convert.ToDateTime(cateringUnitDt.Rows[i]["餐饮服务许可证有效起始日期"]).ToString("yyyy-MM-dd");
catering.EndDate =Convert.ToDateTime(cateringUnitDt.Rows[i]["餐饮服务许可证有效到期日期"]).ToString("yyyy-MM-dd");
if (cateringUnitDt.Rows[i]["法人"].ToString().Length < 20)
{
catering.LegalPerson = cateringUnitDt.Rows[i]["法人"].ToString();
}
else {
alertlengthmsg = "法人 " + cateringUnitDt.Rows[i]["法人"].ToString() + " 长度太长!";
Response.Write("<script>window.parent.window.RunJS(\"" + alertlengthmsg + "\");</script>");
return View("Import");
}
if (cateringUnitDt.Rows[i]["联系人"].ToString().Length < 20)
{
catering.ContractPerson = cateringUnitDt.Rows[i]["联系人"].ToString();
}
else {
alertlengthmsg = "联系人 " + cateringUnitDt.Rows[i]["联系人"].ToString() + " 长度太长!";
Response.Write("<script>window.parent.window.RunJS(\"" + alertlengthmsg + "\");</script>");
return View("Import");
}
if (cateringUnitDt.Rows[i]["备注"].ToString().Length < 100)
{
catering.Remark = cateringUnitDt.Rows[i]["备注"].ToString();
}
else {
alertlengthmsg = "备注 " + cateringUnitDt.Rows[i]["备注"].ToString() + " 长度太长!";
Response.Write("<script>window.parent.window.RunJS(\"" + alertlengthmsg + "\");</script>");
return View("Import");
}
result.TotalCount = cateringUnitDt.Rows.Count;
result.CateringUnits.Add(catering);
}
var rq = AllRestRequst.Build(CateringUnitMethod.BatchImport, Method.POST, false);
string jdto = ObjectHelper.Serialize(result);
rq.AddParameter(WebAppContext.TEXTJSON, jdto, ParameterType.RequestBody);
var obj = RestServiceProvider.Instance.SendRequestString<ResponseRaw<DtoResponse>>(rq, CateringUnitUrl);
JsonReader jsonReader = new JsonTextReader(new StringReader(obj.ToString()));
Response response = null;
int count = 0;
while (jsonReader.Read())
{
if (jsonReader.Value != null && jsonReader.Value.Equals("ResponseInstance"))
{
count++;
continue;
}
if (count > 0 && jsonReader.Value != null)
{
response = JsonConvert.DeserializeObject<Response>(jsonReader.Value.ToString());
}
}
string msg = response.BusinessException.Message;
if (msg.Length > 0)
{
var resultmsg = new ResultMsg();
var alertmsg = "";
string[] ms = msg.Split('&');
if (ms.Count()==2)
{
alertmsg= resultmsg.successMsg = "餐饮单位导入结果:成功" + ms[0] + "条!";
Response.Write("<script>window.parent.window.RunJS(\"" +alertmsg + "\");</script>");
}
else
{
alertmsg= resultmsg.successMsg = "餐饮单位导入结果:成功" + ms[0] + "条,失败" +ms[1]+ "条!";
resultmsg.FailureMsg = ms[2];
Response.Write("<script>window.parent.window.RunJS(\"" + alertmsg+ms[2]+ "\");</script>");
}
}
}
return View("Import");
}
/// <summary>
/// 将excel数据读到表中
/// </summary>
/// <param name="path"></param>
/// <returns></returns>
public static DataTable RenderDataTableFromExcel(string path)
{
DataTable dt = new DataTable();
IWorkbook workbook;
ISheet sheet = null;
try
{
using (FileStream file = new FileStream(path, FileMode.Open, FileAccess.Read))
{
// 2007版本
if (path.IndexOf(".xlsx") > 0)
{
workbook = new XSSFWorkbook(file);
sheet = workbook.GetSheetAt(0);
System.Collections.IEnumerator rows = sheet.GetRowEnumerator();
IRow headerRow = sheet.GetRow(0);
int cellCount = headerRow.LastCellNum;
for (int j = headerRow.FirstCellNum; j < cellCount; ++j)
{
ICell cell = headerRow.GetCell(j);
if (cell != null)
{
string cellValue = cell.StringCellValue.Trim();
if (cellValue != null)
{
DataColumn column = new DataColumn(cellValue);
dt.Columns.Add(column);
}
}
}
for (int i = (sheet.FirstRowNum + 1); i <= sheet.LastRowNum; ++i)
{
IRow row = sheet.GetRow(i);
if (row == null) continue;
DataRow dataRow = dt.NewRow();
for (int j = row.FirstCellNum; j < cellCount; ++j)
{
if (row.GetCell(j) != null)
dataRow[j] = row.GetCell(j).ToString().Trim();
}
dt.Rows.Add(dataRow);
}
}
// 2003版本
else if (path.IndexOf(".xls") > 0)
{
workbook = new HSSFWorkbook(file);
sheet = workbook.GetSheetAt(0);
System.Collections.IEnumerator rows = sheet.GetRowEnumerator();
IRow headerRow = sheet.GetRow(0);
int cellCount = headerRow.LastCellNum;
for (int j = headerRow.FirstCellNum; j < cellCount; ++j)
{
ICell cell = headerRow.GetCell(j);
if (cell != null)
{
string cellValue = cell.StringCellValue.Trim();
if (cellValue != null)
{
DataColumn column = new DataColumn(cellValue);
dt.Columns.Add(column);
}
}
}
for (int i = (sheet.FirstRowNum + 1); i <= sheet.LastRowNum; i++)
{
IRow row = sheet.GetRow(i);
DataRow dataRow = dt.NewRow();
for (int j = row.FirstCellNum; j < cellCount; j++)
{
if (row.GetCell(j) != null)
dataRow[j] = row.GetCell(j).ToString().Trim();
}
dt.Rows.Add(dataRow);
}
}
}
return dt;
}
catch (Exception ex)
{
Console.WriteLine("Exception: " + ex.Message);
return null;
}
}
3.动态合并单元格
$(function () {
autoRowSpan(document.getElementById("td"), 1, 0);
});
//合并单元格并动态修改高度
function autoRowSpan(tb, row, col) {
var lastValue = "";
var cvalue = "";
var pos = 1;
for (var i = row; i <tb.rows.length-1; i++) {
cvalue =tb.rows[i].cells[0].getElementsByTagName("INPUT")[0].value;
if (lastValue == cvalue) {
tb.rows[i].deleteCell(col);
tb.rows[i - pos].cells[col].rowSpan = tb.rows[i - pos].cells[col].rowSpan + 1;
pos++;
if (i == tb.rows.length-2) {
tb.rows[i - pos+1].cells[0].getElementsByTagName("INPUT")[1].style.height = 22 * pos + "px";
}
} else {
if (i > pos) {
tb.rows[i - pos].cells[0].getElementsByTagName("INPUT")[1].style.height = 23 * pos + "px";
}
lastValue = cvalue;
pos = 1;
}
}
}
4. input 标签只读,之前总是disable
//a 为一个checkbox
function changeShort(a) {
if (a.checked) {
var preInput = (a.id).split('-')[1];
$("#ResultPoint-" + preInput).val(" ");
document.getElementById("ResultPoint-" + preInput).readOnly = true;
} else {
var preInput = (a.id).split('-')[1];
document.getElementById("ResultPoint-" + preInput).readOnly = false;
}
}
5.批量设置checkbox的value
function setMaintainRatio() {
var fields;
$(':checkbox:checked').each(function () {
var txt = $("input[name='isshortList']");
fields = ($(':checkbox').map(function () {
if (this.checked)
return "true";
else
return "false";
}).get().join(","));
$(txt).val(fields);
});
}
6.递归实现treeJSON
public List<NewsClassJson> LinqJsonTree(long parentId)
{
var rq = AllRestRequst.Build(SyjMethod.GetListBySyjCode, Method.GET, false);
rq.AddParameter("syjCode", ((SyjUserDto)Session["User"]).Syj.Code);
var obj = RestServiceProvider.Instance.SendRequest<ResponseRaw<SyjDtos>>(rq, SyjUrl);
List<SyjDto>classlist = obj.GetEntity().Syjs.Where(x => x.ParentId == parentId).ToList();
List<NewsClassJson> jsonData = new List<NewsClassJson>();
classlist.ForEach(item =>
{
jsonData.Add(new NewsClassJson
{
id = item.Id,
children = LinqJsonTree(item.Id),
ParentId = item.ParentId,
text = item.Name,
});
});
return jsonData;
}