做网站的一点笔记

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;
        }





 

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值