随笔分类 -  c#

IE浏览器重复提交ajax请求有缓存
摘要:1 IE浏览器发起ajax请求,其实只有第一次请求是成功的,后面的都自动中止,这是IE自带的缓存功能导致2 若不需要次缓存功能,可以再请求地址中加一个随机参数 $.ajax({ url: "../../../ajax/ajaxtest.aspx", ... 阅读全文

posted @ 2015-04-23 13:28 judy_ma0605 阅读(241) 评论(0) 推荐(0)

IE里Iframe的Cookie问题解决办法总结
摘要:1 document.cookie这种写法读取cookie,单独访问页面是没有问题的,但是放在iframe里面访问就会出现问题,IE下会不起作用2 解决办法:page_load中添加一句Response.AddHeader("P3P", "CP=CAO PSA OUR")3IE会自觉的把IFRAME... 阅读全文

posted @ 2014-06-25 14:28 judy_ma0605 阅读(352) 评论(0) 推荐(0)

微信公众服务号开发
摘要:1 公司提供接口,微信平台可以通过访问我们的接口,进行数据交互,通过xml。2http://mp.weixin.qq.com/微信服务号平台,输入用户名密码进入高级功能-开发者模式,3 申请服务号之后,微信会提供appid和AppSecret两个参数,根据这两个参数可以获取token,token作为... 阅读全文

posted @ 2014-06-03 13:22 judy_ma0605 阅读(644) 评论(0) 推荐(0)

解析url参数含有特殊字符的情况
摘要:1 urlc传参数,本来的意思是var str=bbb.aspx?page=1&key=关键字是作为一个整体的参数,但是往往后台会解析成两个。 aaa.aspx?id=1&backurl=str2 加escape(bbb.aspx?page=1&key=关键字),就可以作为整体传了3 今天查了一下编码的几个参数,escape适用于前后台编码一致的情况,还有其他的时候用其他的方法。4 参数含有一些特殊字符,比如http://,-,/,空格等等,一般都可以通过加编码的方式解决,server.urlencode()等。 阅读全文

posted @ 2014-03-25 18:42 judy_ma0605 阅读(521) 评论(0) 推荐(0)

使用客户端控件展示增删改查操作
摘要:1 .net可以使用方便的服务器端控件完成种种操作,但是实际功能还是通过包装好的客户端控件完成 有些操作会重复走方法,有些浏览器在解析服务器端控件时会增加很多的viewstate等大片不需要的内容,徒增页面负担 最好还是手写客户端控件方法来实现功能。2repeater展示是可以不用放在ruanat=server的form中的。3 formd定义name,method,action4 页面验证,onclick="CheckInput(),验证方法中可以return false,也可以直接submit,提交form。5 后台接受动作,根据动作来区分是第一次 进入还是提交。string a 阅读全文

posted @ 2014-03-25 18:35 judy_ma0605 阅读(432) 评论(0) 推荐(0)

修改网站web.config后出现奇怪问题找不到网页
摘要:1 线上网站为了查看到底是哪里报错,特意把webconfig中的配置修改成off, 查看之后再删掉,恢复成原来的文件,但是网站却出现了非常怪异的种种问题,页面突然404找不到,或者之前删掉的服务器上的页面有出来了。 2 问题的原因是,在ftp上修改webconfig之后,直接保存上传ftp,webconfig的文件格式默认成ansi,具体查看可以用记事本打开,另存为会发现下面的编码变成了ansi, 另存为utf8编码的就可以了。3 文件格式与XML内容格式必须对应,否则解析解读XML内容就会有问题 阅读全文

posted @ 2014-03-25 18:17 judy_ma0605 阅读(819) 评论(0) 推荐(0)

dt.select默认不区分大小写
摘要:1 今天发现了一个问题:select分组后的数据不对,大小写没有区分开,经查证,确认默认不区分大小写,2 若要区分大小写,需要将DataTable的caseSensitive属性设为true,dt.CaseSensitive = true; DataTable dt = new DataTable(); dt.Columns.Add("id"); dt.Columns.Add("name"); DataRow dr = dt.NewRow(); dr["id"] = "1001"; ... 阅读全文

posted @ 2013-12-12 18:01 judy_ma0605 阅读(1005) 评论(0) 推荐(0)

缓存,缓存算法和缓存框架
摘要:看了一篇很好的介绍缓存的文章,链接:http://blog.jobbole.com/30940/什么是缓存?正如开篇所讲,缓存是“存贮数据(使用频繁的数据)的临时地方,因为取原始数据的代价太大了,所以我可以取得快一些。”缓存可以认为是数据的池,这些数据是从数据库里的真实数据复制出来的,并且为了能别取回,被标上了标签(键 ID)。太棒了命中:当客户发起一个请求(我们说他想要查看一个产品信息),我们的应用接受这个请求,并且如果是在第一次检查缓存的时候,需要去数据库读取产品信息。如果在缓存中,一个条目通过一个标记被找到了,这个条目就会被使用、我们就叫它缓存命中。所以,命中率也就不难理解了。Cache 阅读全文

posted @ 2013-12-04 17:33 judy_ma0605 阅读(286) 评论(0) 推荐(0)

XML解析特殊字符出错
摘要:问题:页面返回xml,在数据库中存的是特殊符号导致解析错误,有时候在IE下可以解析出来,但在FF下解析不出来。解决办法:str = XmlIllegalCharacters(sss);public static string XmlIllegalCharacters(string content)//过滤掉XML不能解析的特殊字符 { return System.Text.RegularExpressions.Regex.Replace(content, "[\x00-\x08|\x0b-\x0c|\x0e-\x1f]", ""); } 阅读全文

posted @ 2013-02-28 15:20 judy_ma0605 阅读(593) 评论(0) 推荐(0)

不同项目之间的基础dll共用问题
摘要:问题:在A项目中写好的基础类库包括常用的数据库访问方法,页面常用方法,还有其他常用的生成excel等方法,已生成成功,想在B项目直接拿来用,引用不成功,最终解决,引用成功,注意点有以下:失败原因1:两个项目的vs版本需一致,A项目是vs2010,B项目是vs2005版本的,结果导致B项目一致引用不成功,解决办法1:将B项目升级到vs2010,用vs2010打开,设置网站项目或者应用台项目属性选择.net framework 4.0.失败原因2及解决办法:A项目的dll必须是最新版本,获取重新生成之后,copy dll到B项目文件中,然后B项目移除之前引用,添加最新引用。3:引用生成成功之后,是 阅读全文

posted @ 2012-11-02 15:57 judy_ma0605 阅读(264) 评论(0) 推荐(0)

.net缓存机制
摘要:1 web应用程序,有的称为状态管理,有的称为就是缓存管理,缓存机制。2 分为服务器端缓存和客户端缓存。3 客户端缓存:3.1 Cookies:当客户端每次发送请求时都会将它发送到服务端,服务端响应时也会把它发回到客户端。因为它限制了字节数(4096个字节),所以它只能缓存比较小的数据。它可以使用过期策略使它在一段特定的时间之后失效if (this.Request.Cookies["UserName"] == null) { this.Response.Cookies.Add(new HttpCookie("UserName", "aaa&qu 阅读全文

posted @ 2012-10-17 14:52 judy_ma0605 阅读(4446) 评论(0) 推荐(1)

The state information is invalid for this page and might be corrupted解决办法
摘要:1 问题:网站部署之后,排序或者搜索之后报错:The state information is invalid for this page and might be corrupted2 原因:Viewstate (视图状态持久性机制)Asp.net页面中ViewState一般是存储在页面的一个隐藏域中:<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="一堆乱七八糟的东西">很多人可能都遇到过,视图状态被破坏掉了,页面无法显示,解决方法1 阅读全文

posted @ 2012-10-16 15:37 judy_ma0605 阅读(2006) 评论(0) 推荐(0)

用户控件后台加载
摘要:1 实现功能:多城市项目,某城市上线新功能,另外一部分城市维持老的用户控件,2 之前写法是这样,后跟踪发现,北京的仍然走了用户控件的代码,也就是用户控件已经在页面上了,还是要走一遍后台加载一遍的,这一步是浪费的。3 解决方法:a 页面改成PlaceHolder,后台动态加载(注意:LoadControl()方法里面的路径写项目实际路径,可能和命名空间不一致)b 还有一种讨巧的方法,在用户控件里面page_load判断是北京,this.visible=false,return;即虽然仍走了控件,但是直接就出来了。 <!-- start--><div id="div_i 阅读全文

posted @ 2012-07-19 17:20 judy_ma0605 阅读(324) 评论(0) 推荐(0)

产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。按照数组下标输出结果。
摘要:功能如题,思路:生成一个数组,数组的特点是:每个元素是1-100之间的随机数,插入数组的时候判断是否已经存在,若存在,数组的索引回复到之前,-1,继续生成随机数,插入数据,若是不存在,直接插入数组。注意一点:用计算机时间作为随机种子,已尽可能保证生成随机的伪随机数,详情参考(http://www.cnblogs.com/falla/archive/2010/01/29/1659399.html)Random ra = new Random(unchecked((int)DateTime.Now.Ticks));View Code protected void Page_Load(object. 阅读全文

posted @ 2012-07-02 16:01 judy_ma0605 阅读(681) 评论(0) 推荐(0)

导航