![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ASP.NET WebForm开发
邹琼俊
著有《ASP.NET MVC企业级实战》、《H5+跨平台移动应用实战开发》、《Vue.js 2.x实践指南》、《Javscript实用教程》、《Node+MongoDB+React 项目实战开发》、 《Vue3.x TypeScript实践指南》、《Node.js+Vue.js+MangoDB全栈开发实战》
展开
-
如何禁用Visual Studio 2013的浏览器链接功能
VS2013新增的Browser Link功能虽然“强大”,但我并不需要。但默认是开启的,会在页面中自动添加如下的代码,真是烦人!scripttype="application/json" id="__browserLink_initializationData"> {"appName":"Firefox","requestId":"861592d477c64fd590原创 2015-03-23 15:32:37 · 6634 阅读 · 0 评论 -
ASP.NET高级程序员进阶之路——.net项目开发中一些常见的代码规范问题及解决方案
1)页面后代码中出现SQL语句或与某一类具体数据库相关的对象,比如OracleConnection、OracleTransaction等; 2)扩展的方法缺少注释,或注释不完整; 3)状态值的判断未采用枚举; 4)属性缺少注释; 5)方法名未采用Pascal命名法(单词首字母均应该大写); 6)资源文件引用混乱,一些常用的公共JS文件(比如JQuery框架文件)在模块原创 2012-05-15 10:03:51 · 4398 阅读 · 3 评论 -
C# ftp上传和下载
为了测试我们写的代码是否具有ftp上传下载功能,我们需要去下载一个虚拟FTP服务器,如:Serv-U。配置好Serv-U后,我们就可以编码测试了。引入命名空间:using System.Net; /// /// 下载文件 /// /// 文件下载后存放路径 /// 文件下载后的名称 ///原创 2013-12-12 11:37:57 · 4752 阅读 · 0 评论 -
C#操作windows服务
效果图如下:前台js如下: function showLoading(desc) { $("body").append(" " + desc + ""); //alert($("head").html()); $.openPopupLayer({ name:原创 2013-09-03 14:12:03 · 4612 阅读 · 2 评论 -
在Win2003、Win7、XP中配置IIS搭建ASP.NET Web网站或应用程序
在各系统中配置IIS1、Xp系统中iis5.1的配置Xp系统中自带的是IIS5.1,而IIS5.1中只能建立一个网站——即默认网站,如果要在上面部署多个web应用程序,我们可以使用新建虚拟目录的形式。具体操作如下: a、 开始——控制面板——管理工具——Internet信息服务器,会看到如下界面b、 选中“默认网站”,右键单击弹出新建——虚拟目录 c原创 2013-11-25 17:23:27 · 28061 阅读 · 2 评论 -
简单工厂模式构建数据访问层以实现多种数据库之间的切换
1、新建一个 数据库访问基类DBHandler /// /// 数据库访问基类 /// public abstract class DBHandler { public DBHandler() { } #region 需要在子类中初始化的与数据库相关的特征类 protected DbConnectio原创 2013-11-11 18:09:39 · 7484 阅读 · 0 评论 -
Gridview自定义分页
在这里我使用Gridview中自带的分页,然后进行扩展,代码如下: 第">页 /共" />页 '原创 2013-10-31 17:55:36 · 1115 阅读 · 0 评论 -
.NET导出Gridview到excel 带模板列显示
界面内容如下:导出后显示查询到的数据如下:c#调用代码如下: protected void btnOutput_Click(object sender, EventArgs e) { gvEquData.AllowPaging = false; BindGridViewData(); ExcelHelper hel原创 2013-09-25 10:05:17 · 3371 阅读 · 1 评论 -
.net动态显示服务器上面的时间(只向服务器发送一次请求)
在页面中,我们要动态的显示服务器上面的时间,我一开始的思路就是:使用js的setInterval()方法,每隔1秒钟就发一次ajax请求向服务器获取一次时间,但是这样就会有一个问题,每隔一秒就向服务器发送了一次ajax请求,虽然耗时只有20ms左右,但是一直这样不断请求加重了服务器负担。于是我转变了思路:那就是我在页面第一次加载时向服务器发送一次ajax请求拿到当前服务器时间,然后每隔一秒就在此时原创 2013-09-24 09:47:08 · 2432 阅读 · 0 评论 -
jquery控制动态生成的gridview中多列checkbox的全选反选及自动判断是否全选状态
动态生成的Gridview的前台html代码如下: <table class="usertableborder" cellspacing="0" rules="all" border="1" id="gvEquData" style="border-collapse: collapse;">原创 2013-09-05 16:07:35 · 4014 阅读 · 1 评论 -
(SQL SERVER) (ORACLE) (ACCESS)(POSTGRE SQL)四种数据库操作C#代码
public sealed class OleDbClass { #region private utility methods & constructors //Since this class provides only static methods, make the default constructor private to prevent原创 2013-09-10 15:35:24 · 2052 阅读 · 1 评论 -
.NET上下左右移动操作支持多选
效果如下图:代码如下: public partial class ShowSet : System.Web.UI.Page { Hashtable resources = EquStatusSearch.resources; private string names = null; IniOperation ini = new原创 2013-09-03 14:06:41 · 1724 阅读 · 0 评论 -
动态绑定Gridview带模板列
后台代码: /// /// 绑定gridview查询数据 /// public void BindGridViewData() { GetWebconfigInfo(); InitDataInfo(); try原创 2013-09-03 11:46:27 · 2119 阅读 · 1 评论 -
C#操作ini文件
public class IniOperation { private static string iniFilePath; //ini文件的路径 const int MAXENTRY = 500000; //最大缓冲值500*1000字节 public IniOperation(string strIniFil原创 2013-09-10 15:39:36 · 3731 阅读 · 0 评论 -
双击GridView查看详情
效果如下: protected void gvEquData_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { //鼠标经过改变原创 2013-09-03 14:27:14 · 1558 阅读 · 0 评论 -
UpdatePanel和jQuery不兼容
在做项目中发现,在使用了UpdatePanel的地方,局部刷新后,jquery失效了。后来网上一查,才发现,jquery中的ready事件会在DOM完全加载后运行一次,而当我们实用了UpdatePanel,它只局部更新,并未重新加载页面所有Dom,所以jquery中ready事件将不会再次执行。所以,我们可以将ready事件中执行的代码提取出来,然后通过捕获ScriptManager的EndR原创 2013-09-09 15:01:19 · 1815 阅读 · 0 评论 -
.NET 单点登录
http://ys:3000/cas/login"/> http://ys:3000/cas/serviceValidate"/> http://ys:3000/cas/logout"/> using System;using System.Web.Security;using System.Web;using System.Net原创 2013-07-08 09:21:40 · 4375 阅读 · 0 评论 -
.NET中执行js脚本的方法
一、后台注册js脚本在项目开发中,遇到了问题,当使用了UpdatePanel控件后,直接在后台输出js脚本报错了。大家都知道向客户端输出内容的方式很多,而大多数初学者会使用Respone.Write(string)。比如: 以下是代码片段:Respone.Write(“hello word!”); 或输出JS Respone.Write("");原创 2012-01-11 10:51:27 · 8672 阅读 · 1 评论 -
ASP.NET 高级程序员进阶之路——快捷键篇
1,回到上一个光标位置使用组合键 Ctrl + - 键表示Navigate BackWard, 使用组合键 Ctrl + Shift + - 键表示 Forward. 2,删除多余的using指令,并且排序当我们新一个类的时候,Visual Studio 会将常用的命名空间using在类的头部。但是在我们写完一个类的时候,有些using是多余的,删除多余的using,再排一下序,可以使原创 2014-01-11 18:25:19 · 5176 阅读 · 1 评论 -
GirdView选中行变色,滑动鼠标指定列变色,合并指定列,全选反选等
最近,去了新公司,由于限制了网络,有过一阵子没有写东西了,只有到周末在家的时候有时间写。本想写一些最近关于学习CRM2011的学习心得,但一方面考虑到公司限网,另一方面,网上已经有大神写了非常详细的一个CRM2011编程系列,因此就打消了这个念头。就记录下一些工作中常用到的技术点,备忘吧,也供大家参考。要实现的效果如下:实现思路:大家都知道,Gridview控件,生成的html代码其实原创 2014-06-14 09:39:08 · 2278 阅读 · 0 评论 -
js导出table到excel,同时兼容FF和IE
前台调用(第一个参数是table的id): function toExcel(inTblId, inWindow) { if ($.browser.msie) { //如果是IE浏览器 try { var allStr = ""; var cur原创 2013-09-03 14:02:49 · 11528 阅读 · 11 评论 -
Lucene.net站内搜索3—最简单搜索引擎代码
Lucene.Net核心类简介先运行写好的索引的代码,再向下讲解各个类的作用,不用背代码。(*)Directory表示索引文件(Lucene.net用来保存用户扔过来的数据的地方)保存的地方,是抽象类,两个子类FSDirectory(文件中)、RAMDirectory (内存中)。使用的时候别和IO里的Directory弄混了。创建FSDirectory的方法,FSDirectory原创 2015-03-07 22:42:56 · 4936 阅读 · 0 评论 -
Lucene.net站内搜索2—Lucene.Net简介和分词
Lucene.Net简介Lucene.Net是由Java版本的Lucene(卢思银)移植过来的,所有的类、方法都几乎和Lucene一模一样,因此使用时参考Lucene 即可。Lucene.Net只是一个全文检索开发包(就像ADO.Net和管理系统的关系),不是一个成型的搜索引擎,它的功能就是:把数据扔给Lucene.Net ,查询数据的时候从Lucene.Net 查询数据,可以看做是提供了全文原创 2015-03-07 18:19:33 · 5120 阅读 · 2 评论 -
Lucene.net站内搜索1——SEO优化
声明:在这里,所谈的一切关于SEO的技术主要针对于我们开发人员。SEO (搜索引擎优化)SEO(搜索引擎优化)的目的(很多人都是通过搜索引擎找到我们的网站)是让搜索引擎更多的收录网站的页面,让被收录页面的权重更靠前,让更多的人能够通过搜索引擎进入这个网站原理:蜘蛛会定时抓取网站的内容,发现网站内容变化、发现新增内容就反映到搜索引擎中蜘蛛(spider) 爬网站:就是向网站发http原创 2015-03-04 21:38:20 · 2578 阅读 · 0 评论 -
6个重要的.NET概念栈,堆,值类型,引用类型,装箱,拆箱
介绍 这篇文章将解释6个重要的概念:栈,堆,值类型,引用类型,装箱,拆箱。本文将会阐述当你声明一个变量时发生了什么并提前说明两个重要个概念:栈和堆。文章将围绕引用类型和值类型澄清一些重要基本信息。并通过一个简单的示例来演示装箱和拆箱引起的性能损失。 声明一个变量时发生了什么? 当你在.NET应用程序中声明了一个变量时,将会从RAM中分配一小块内存,在内存中存在三样东西:翻译 2015-02-07 00:05:21 · 1507 阅读 · 0 评论 -
aspx页面用一个遮罩层显示正在加载,加载完后隐藏该div
已经有好一段时间没有使用.NET控件做web了,今天要优化一个界面,正好是用.NET控件做的,遂把此次解决问题的方案下来。总是有许多开发人员觉得做东西没思路,我觉得只是见得少了,思考少了的缘故,所以我总是喜欢以写博客的方式记录下来平时工作中遇到的一些问题,并附上解决方案。需求:界面查询操作比较费时,用一个遮罩层显示操作正在执行,当操作执行完之后,关闭遮罩层。思路:1、准备两个div原创 2014-12-24 16:55:40 · 14149 阅读 · 6 评论 -
ASP.NET控件开发之ScrollGridView(兼容FF、IE、苹果、谷歌、搜狗,固定表头滚动的GridView控件)
这篇文章本来在2个月前就应该写了的,只是一直没有找到好的解决方案,所以迟迟没有动笔,直到今天,才找到了比较满意的解决方案。网上关于固定GridView表头,常见的有两种解决方案,一种是采用css样式,一种则是使用js代码。我再后面贴出了网上常用的解决方案,不过这两种解决方案都无法从根本上解决问题,并且还有一个致命的缺点,那就是在FF中不支持,我认为采用jquery重写表头扩展GridView才原创 2011-12-21 17:31:19 · 3251 阅读 · 0 评论 -
弹出新界面,在新界面执行方法后传参给调用界面,再执行调用界面的方法
需求:收费界面如果按照客户名称来检索,且有重名的话,能弹出多个客户来选择思路:利用jquery和第三方的js库lhgdialog.min.js(我这里是为了快速、方便、美观、不用考虑兼容性),当点击查询时,调用弹出窗体,弹出窗体引用了一个单独的aspx页面,这个aspx页面将列出查询到的数据列表,然后根据选择不通的数据行,将唯一标识再传给调用页面(主页面),最后执行调用页面(主页面)的方法。原创 2014-12-27 17:14:50 · 4993 阅读 · 0 评论 -
ReportingServies报表开发实例教程
效果图如下:1、我们先完成sql语句的编写,以下是各表和关键字段:--t:hx_t_waterusedamount--用水水量 hx_t_waterusedamountid--f:hx_frecorder(抄表员),hx_fzone(区段),hx_fmeterid(水表),hx_fpayamount(结算水量),hx_fdepartmentid(收费部门) --t:hx原创 2014-11-22 16:26:36 · 6437 阅读 · 0 评论 -
ASP.NET Redis 开发
Redis简介Redis是一个开源的,使用C语言编写,面向“键/值”对类型数据的分布式NoSQL数据库系统,特点是高性能,持久存储,适应高并发的应用场景。Redis纯粹为应用而产生,它是一个高性能的key-value数据库,并且提供了多种语言的API性能测试结果表示SET操作每秒钟可达110000次,GET操作每秒81000次(当然不同的服务器配置性能不同)。redis目前提供五种数据原创 2014-11-22 16:58:40 · 28333 阅读 · 3 评论 -
Redis主从复制
Redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构.实现步骤如下:1.在Windows某个磁盘上创建两个目录,例如; MasterRedis(存储的是Master服务) SlaveRedis(存储的是Slave服务).2.在Master服务中的配置文件redis.conf修改 :b原创 2014-11-23 15:18:57 · 7359 阅读 · 0 评论 -
使用jquery+一般处理程序异步加载信息
需求:有时候,web界面对性能要求比较高,我们就不考虑使用asp.net控件,而是使用html标签+jquery+一般处理程序来进行异步处理。aspx代码:原创 2014-10-25 22:31:16 · 3316 阅读 · 0 评论 -
单击行,自动选中当前行中的单选框按钮
需求:单击行,自动选中当前行中的单选框按钮。aspx页面:原创 2014-11-01 18:12:27 · 6445 阅读 · 0 评论 -
asp.net控件的异步刷新
需求:我们知道,asp.net控件中的button控件,默认是开启了自动回发的,而有时候,我们不想刷新整个界面,而只想局部刷新,可页面中又偏偏用到了.net button控件。虽然我很讨厌.net控件,但有时候在系统对性能要求不高的情况下,为了偷懒,使用.net控件是无可厚非的。注意下面代码中红色标注的代码。aspx页面代码(只写了关键代码): btnSearch" run原创 2014-10-25 22:14:30 · 4475 阅读 · 0 评论 -
tab功能菜单——利用tab切换不同的div
需求:在web界面上实现类型tab页签的效果aspx界面代码: 充值 作废售水原创 2014-10-25 21:58:56 · 19519 阅读 · 0 评论 -
带分类页签搜索框的实现
需求:类似于淘宝搜索框,可以根据选择不同的分类进行帅选查询,效果图如下:aspx代码如下: 水表编码 客户编码 客户名称原创 2014-10-25 21:49:37 · 3279 阅读 · 0 评论 -
asp.net 状态的传递和保存
无状态HttpHttp协议是无状态的,不会记得上次和网页“发生了什么”(故事《初恋50次》)。试验:private 字段++。服务器不记的上次给了浏览器什么,否则服务器的压力会太大,浏览器需要记住这些值,下次再提交服务器的时候(请在我的宽度基础上增加10,)就要把上次的值提交给服务器,让他想起来。如果要知道上一次的状态,一个方法是在对浏览器响应结束之前将状态信息保存到页面表单中(实现一下)原创 2014-11-07 17:18:44 · 2070 阅读 · 0 评论 -
GridView利用分页存储过程实现真正的自定义分页查询
我们知道,在使用GridView进行分页的时候,通常是将所有的数据全部读取出来,然后再对其进行分页。可是,想过没有,如果有数以千万计的数据,一次这样全部读取然后绑定,每点击一次下一页又要这样绑定一次,或者修改数据后也是这样的重新绑定一次,你就会知道那速度有多慢了。这里,我采用的是存储过程进行分页,每一次只读取指定范围的数据,最终效果如图:首先,我们要建立分页存储过程,打开Sqlver 2008原创 2012-03-06 09:09:04 · 1688 阅读 · 0 评论 -
JS中setInterval、setTimeout不能传递带参数的函数的解决办法
在JS中无论是setTimeout还是setInterval,在使用函数名作为调用句柄时都不能带参数,而在许多场合必须要带参数,这就需要想方法解决。一、采用字符串形式:——(缺陷)参数不能被周期性改变setInterval("foo(id)",1000);二、匿名函数包装 (推荐)window.setInterval(function() {foo (id);原创 2013-04-28 09:46:54 · 3696 阅读 · 0 评论 -
.NET正则表达式
1、正则表达式是用来进行文本处理的技术,是语言无关的,在几乎所有语言中都有实现。javascript中还会用到。2、一个正则表达式就是由普通字符以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。3、就像通配符“*.jpg”、“%ab%”,它是对字符串进行匹配的特殊字符串4、正则表原创 2013-02-20 13:25:52 · 6407 阅读 · 5 评论