`

小知识(八)

 
阅读更多

1.jQuery DatatableToJson

http://dotnet.aspx.cc/file/jQuery-Receive-ashx-DataSet-JSON.aspx  稍微修改一下

public static string DataTable2Json(DataTable dt)

        {

            StringBuilder jsonBuilder = new StringBuilder();

            jsonBuilder.Append("{");

            jsonBuilder.Append(dt.TableName);  //这里TableName设为了provider

            jsonBuilder.Append(":[");

            for (int i = 0; i < dt.Rows.Count; i++)

            {

                jsonBuilder.Append("{");

                for (int j = 0; j < dt.Columns.Count; j++)

                {

                    jsonBuilder.Append(dt.Columns[j].ColumnName);

                    jsonBuilder.Append(":'");

                    jsonBuilder.Append(dt.Rows[i][j].ToString());

                    jsonBuilder.Append("',");

                }

                jsonBuilder.Remove(jsonBuilder.Length - 1, 1);

                jsonBuilder.Append("},");

            }

            jsonBuilder.Remove(jsonBuilder.Length - 1, 1);

            jsonBuilder.Append("]");

            jsonBuilder.Append("}");

            return jsonBuilder.ToString();

        }

jsonBuilder最终格式为 {provider:[{ID:'1',GYSMC:'12',GSXZ:'12',LXDH:'12',LXR:'12',GSJJ:'12'},{ID:'2',GYSMC:'12',GSXZ:'13',LXDH:'13',LXR:'13',GSJJ:'3'}]}

前台JsonToTable

$.getJSON("searchProvider.ashx", {providername:providerName}, function(data) {

                $.each(data.provider, function(i, data) {

                var tr = $("<tr>");

                $("<td style='class:providerID'>").text(data.ID).appendTo(tr);

                $("<td>").text(data.GYSMC).appendTo(tr);

                $("<td>").text(data.GSXZ).appendTo(tr);

                $("<td>").text(data.LXDH).appendTo(tr);

                $("<td>").text(data.LXR).appendTo(tr);

                $("<td>").text(data.GSJJ).appendTo(tr);

                tr.appendTo($("#tableProvider"));

                 }) 

               })

<div id="divSearchProvider">

 <table id="tableProvider" class="tableUI">

<tr><th>公司编码</th><th>公司名称</th><th>公司性质</th><th>电话</th><th>联系人</th><th>公司简介</th></tr>

 </table>

</div>

LINQ实现

string jsonxscj="{scores:[";

    public void ProcessRequest(HttpContext context)

    {

        context.Response.ContentType = "application/JSON";

        string sid = context.Request.QueryString["thesid"];

        using (GAOEDataContext db = new GAOEDataContext())

        {

            var scores = from s in db.Score join p in db.Paper on s.PaperId equals p.ID where s.Sid.ToString().Equals(sid) select new { papername = p.PaperName, thescore = s.TheScore };

            foreach (var item in scores)

            {

                jsonxscj += "{pn:'"+item.papername+"',sc:'"+item.thescore.ToString()+"'},"; 

            }

            jsonxscj=jsonxscj.Substring(0, jsonxscj.LastIndexOf(","));

            jsonxscj += "]}";

        }

        string ss = jsonxscj;

        context.Response.Write(jsonxscj);

    }

{scores:[{pn:'C#面试题(一)',sc:'70'},{pn:'C#面试题(二)',sc:'36'},{pn:'C#面试题(三)',sc:'35'}]}

如果没有成功,可考虑一下jQuery版本的问题,jQuery各个版本之间的不兼容真是让人恼火。

 

2.在有许多层iframe的情况下的js刷新某一页

alert(window.parent.location)

alert(window.parent.frames["MainIframe"].location);

alert(window.parent.frames["MainIframe"].frames["content"].location);

可以一个一个查看其地址,直到找到想要刷新的页,然后

window.parent.frames["MainIframe"].frames["content"].location.reload();

 

3. 从一个iframe中获取另一个iframe中的某元素值&调用js函数

window.parent.frames["provider_main"].document.getElementById("hid_providerid").value

provider_main是另一个iframe的id   只要找到相应的iframe就可以了

同理从一个iframe调用另一个iframe的js函数 也是一样

window.parent.frames["provider_main"].myPrint();

 

4.使用jQuery的get方法的中文乱码问题解决

①前台encodeURI编码  {1:encodeURI(1),2:encodeURI(2)}   后台解码context.Server.UrlDecode(context.Request.QueryString["1"]);

不行的话可以如下

②前台escape编码  {1:escape(1),2:escape(2)}  后台解码  context.Server.UrlDecode(context.Request.QueryString["1"]);

用post方法访问oracle数据库时有可能报错 :  并非所有变量都关联     当然用get方法如果有些数值为null也会报同样错误

 

5.JS打印

js自带函数打印,这里打印的是哪个页面取决于打印按钮在哪页,而不管打印函数在哪页

<a href="javascript:window.print()">打印</a>

<input type="button" value="打印" onclick="window.print()"/>

局部打印 http://www.cnblogs.com/samlin/archive/2008/04/13/1151265.html

其他 http://blog.csdn.net/coffeeroom/article/details/6609119

 

6.记事本 .LOG

在记事本的第一行写上 .LOG ,这样今后打开记事本文件就知道上次最后的打开时间了。

 

7.jQuery ajax 报"缺少对象"的错误的一个可能原因

 

jQuery ajax 数据用json方式data:{1:1,2:2}的话 如果数据过多可能会报"缺少对象"的错误[而且json方式传值

要涉及到escape()中文加解码的问题(如上4)]

推荐用写在url后面的方式?1=1&2=2

 

8.GridView可编辑表格

 

<asp:GridView ID="grwBGSP" runat="server" CssClass="tableUI" 
            AutoGenerateColumns="false" onrowdatabound="grwBGSP_RowDataBound">
        <Columns>
        <asp:BoundField HeaderText="商品编码" FooterText="SPBM" DataField="SPBM" />
        <asp:BoundField HeaderText="商品名称" FooterText="SPMC" DataField="SPMC" />
        <asp:BoundField HeaderText="商品型号" FooterText="SPXH" DataField="SPXH" />
        <asp:BoundField HeaderText="供应商" FooterText="GYS"  DataField="GYS" />
        <asp:BoundField HeaderText="单位" FooterText="DW"  DataField="DW" />
        <asp:BoundField HeaderText="采购数量" FooterText="CGSL"  DataField="CGSL" />
        <asp:BoundField HeaderText="本次价格" FooterText="BCJG"  DataField="BCJG" />
        <asp:BoundField HeaderText="备注" FooterText="BZH"  DataField="BZH" />
        </Columns>
        </asp:GridView>

 protected void grwBGSP_RowDataBound(object sender, GridViewRowEventArgs e)

        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                DataTable dt = (DataTable)grwBGSP.DataSource;
                string spbm = dt.Rows[e.Row.RowIndex]["spbm"].ToString();
                for (int i = 1; i < e.Row.Cells.Count; i++)
                { //i从1开始,在js里的响应就是第1列不可编辑
                    e.Row.Cells[i].ToolTip = grwBGSP.Columns[i].FooterText;
                    e.Row.Cells[i].Attributes.Add("spbm",spbm);
                }
            }
        }

 var oldtxt = null;

var newtxt = null;
$(function() {
    var qdid=document.getElementById("hid_qdid").value;
    var jdid=document.getElementById("hid_jdid").value;
    $("#grwBGSP tr td").dblclick(function() {
        var objTD = $(this);
        oldtxt = objTD.text();
        var spbm = this.spbm;
        var colName = this.title;
        if (spbm == undefined || colName == undefined || spbm.length == 0 || colName.length == 0) {
            return;
        }
        var input = $("<input type='text' value='" + oldtxt + "' style='width:80px;'>");
        objTD.html(input);
        input.click(function() { return false; });
        input.trigger("focus").trigger("select");
        input.blur(function() {
            var inputCtl = $(this).val();
//            var json = "{action:'bianji',jdid:'"+jdid+"',qdid:'"+qdid+"',spbm:'" + spbm + "',colName:'" + colName + "',colValue:'" + inputCtl.val() + "'}";
           
            $.ajax({
                type: "get",
                url: "../../PurchaseChange/PurchaseChangeHandle.ashx",
                data:{action:"bianji",jdid:jdid,qdid:qdid,spbm:escape(spbm),colName:escape(colName),colValue:escape(inputCtl)},
                success: function(msg) {
                    if (msg== "保存成功") {
                        newtxt = inputCtl;
                        objTD.html(newtxt);
                    }
                    else {
                        alert("编辑失败!");
                    }
                }
            });
            
        });
    });
});
分享到:
评论

相关推荐

    八年级下册物理知识点公式归纳.pdf

    根据提供的文件信息,以下是关于《八年级下册物理知识点公式归纳》的内容知识点归纳。 首先,文件中提到了重力公式G=mg,其中G代表重力,m代表物体的质量,g代表重力加速度。标准重力加速度g近似值为9.8N/kg,但在...

    仿某知识蝉 小程序源码 在线学习 副业项目 知识付费系统

    二、知识付费小程序 · 核心功能 1、优惠券 课程包含满减、折扣、立减三种形式,可刺激用户购买,提升付费转化率。 2、拼团活动 多人组团购买付费内容,既能促进课程售卖,又能增加新用户。 3、裂变海报 用户...

    北师大版八年级下册数学期末知识点复习.pdf

    "北师大版八年级下册数学期末知识点复习" 本资源摘要信息涵盖北师大版八年级下册数学期末知识点复习的主要内容,包括全等三角形、等腰三角形、直角三角形、线段的垂直平分线、角平分线、一元一次不等式和一元一次...

    电路知识第八章总结集

    本章电路知识将有益于硬件开发的同学,主要讲述的是在电路中运用广泛的相量法。

    八年级物理下册第八章压强与浮力知识点归纳新版北师大版

    【压强与浮力知识点详解】 ...这些知识点构成了八年级物理下册第八章关于压强与浮力的基本内容,涵盖了压力、压强、液体压强、连通器、大气压强和浮力的各个方面,有助于学生理解和应用这些物理原理。

    数学三年级上册第八单元知识点.docx

    《数学三年级上册第八单元知识点详解》 数学作为一门基础学科,对于孩子们的思维发展具有重要作用。三年级上册的第八单元主要围绕分数的概念及其运算展开,涵盖了分数的意义、比较、加减法以及圆的面积等多个知识点...

    三年级语文上册知识梳理第八单元知识小结新人教版

    《三年级语文上册知识梳理第八单元知识小结新人教版》 在三年级语文上册的第八单元中,学生们需要掌握一系列关键的语文知识点,包括字音、字形、多音字辨析、形近字与同音字的区别,以及词语的运用。下面将对这些...

    沪科版八年级物理下册期末知识点总结.doc

    【沪科版八年级物理下册期末知识点总结】 在八年级物理下册的学习中,主要涵盖了力与运动以及压强两个重要主题。首先,我们来看看力与运动的相关知识点。 1. 牛顿第一定律,也被称为惯性定律,指出一个物体在没有...

    八年级下政治第七课所有知识点-八年级下册政治知识点.docx

    【知识点详解】 1. **财产归属划分**:财产可以分为个人财产、集体财产和国家财产。这三种类型的划分是基于所有权的归属,确保了不同主体对财产的合法权利。 2. **公民个人合法财产的内容**:包括公民的合法收入、...

    新人教版八年级上英语知识点归纳.pdf

    新人教版八年级上英语教材涵盖了许多重要的知识点,以下是对Unit 1和Unit 2部分知识点的详细归纳。 在Unit 1《Wheredidyougoonvacation?》中,学生学习了如下知识点: 1. 不定代词的使用:some, any, no, somebody...

    部编人教第八单元知识小结.docx

    部编人教第八单元知识小结.docx

    计算机网络知识点总结(谢希仁第八版).pdf

    谢希仁第八版的《计算机网络》详细介绍了网络的基础知识。在信息时代,计算机网络分为电信网络、有线电视网络和计算机网络,其中互联网以其连通性和共享性成为主导。 互联网的发展经历了三个阶段:从最初的ARPANET...

    最新浙教版八年级下册-科学知识点归纳.doc

    【浙教版八年级下册科学知识点归纳】 本资料涵盖了初中科学课程中关于电与磁的重要概念,旨在帮助学生系统地复习和理解这部分知识。以下是关键知识点的详细解析: 一、磁现象 1. 磁性:物体吸引铁、钴、镍等铁磁性...

    部编版语文一年级上册一至八单元知识小结.pdf

    部编版语文一年级上册一至八单元知识小结.pdf

    企业管理-网络安全-知识管理在中小企业管理中的应用.pdf

    知识点八:知识管理的挑战和机遇 知识管理面临着许多挑战,如知识泄露、知识保护和知识共享等问题。同时,知识管理也带来了许多机遇,如提高企业的竞争力和创新能力等。 知识点九:知识管理的未来发展 知识管理的...

    云之道知识付费v1.5.4小程序+前端(含pc付费插件).zip

    【知识要点八】:用户权限与隐私保护 为了保障用户权益,平台需具备用户身份验证、权限控制以及数据加密等功能,以保护用户隐私并确保只有付费用户才能访问特定内容。 【知识要点九】:数据分析与报表 通过收集用户...

    八年级下册数学知识点和题型.doc

    "八年级下册数学知识点和题型" 八年级下册数学知识点和题型是数学学习的重要组成部分,本文将对八年级下册数学知识点和题型进行详细的总结和分析。 一、非负数的性质 非负数的性质是八年级下册数学的重要知识点之...

    小学生环保小知识.doc

    【小学生环保小知识】 环保是当今世界关注的重要议题,尤其对于孩子们来说,从小培养环保意识至关重要。本文档针对小学生设计,旨在帮助他们了解地球的基本情况、环境与环境问题的关联,以及如何从日常生活中实践...

    八年级物理上册5、2生活中的透镜知识点精细梳理新人教版.pdf

    标题中提到的是“八年级物理上册5、2生活中的透镜知识点精细梳理新人教版”,这指的是中国新修订的初中物理教科书中第5章第2小节,其中涉及的是“生活中的透镜”这一知识点。该标题表明了文档是针对八年级学生的学习...

    鲁教版初中化学知识提纲(八九年级).pdf

    《鲁教版初中化学知识提纲》为八九年级学生提供了全面而系统的化学学习路径,旨在帮助学生构建扎实的化学基础知识。本提纲分为多个单元,涵盖了化学的基础概念、实验操作以及物质的本质等方面。 首先,第一单元...

Global site tag (gtag.js) - Google Analytics