博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  ASP.NET

记录学习ASP.NET的一些心得
摘要:服务器激活的对象是其生存期由服务器直接控制的对象。服务器应用程序域只有在客户端在对象上进行方法调用时才创建这些对象,而不会在客户端调用 new 或 Activator.GetObject 时创建这些对象;这节省了仅为创建实例而进行的一次网络往返过程。客户端请求服务器激活的类型实例时,只在客户端应用程序域中创建一个代理。然而,这也意味着当您使用默认实现时,只允许对服务器激活的类型使用默认构造函数。若要发布其实例将使用带参数的特定构造函数创建的类型,可以使用客户端激活或者动态地发布您的特定实例。 阅读全文

posted @ 2011-12-08 10:15 孤独者 阅读(1068) 评论(0) 推荐(1)

摘要:由于用了NHibernate,所以log4net就不用白不用了。想用日期作为日志文件的名字,不会配置,g.cn之,发现园子里有前辈用编程解决了,觉得未免大动干戈。于是继续g.cn,找到了一个国外的文章,上面给出了我想要的答案。 阅读全文

posted @ 2011-06-17 10:57 孤独者 阅读(1022) 评论(0) 推荐(0)

摘要:在后台进行数据查询操作时,我们可能会使用GridView控件进行数据展示,有时需要将GridView控件中显示的数据导出到EXCEL文件中,通过调用GridView控件的RenderContol方法将数据导出到字符流中进行输出。 阅读全文

posted @ 2011-05-07 21:01 孤独者 阅读(1311) 评论(1) 推荐(0)

摘要:经常碰到同时需要对某个数据进行操作,或者对某个文件进行读写操作,对于这些操作我们以前往往不能很好的进行处理,自从C#语言中引入了lock这个关键字,以上问题就比较容易予以解决了。 阅读全文

posted @ 2011-04-22 23:00 孤独者 阅读(1492) 评论(0) 推荐(0)

摘要:最近在项目中需要使用到报表的相关知识,在网上查了一些资料,结合自己实际的使用情况,进行总结一下。在ASP.NET中主要通过使用ReportView控件来实现报表的功能,报表的开发主要分为三个方面:数据源,报表设计,报表展示。 阅读全文

posted @ 2011-04-21 23:30 孤独者 阅读(11083) 评论(2) 推荐(6)

摘要:可能在安装.NET Framewrok 4.0之前,IIS就已经装好了,结果在IIS的应用程序池中只有.NET 2.0的Classic .NET AppPool和DefaultAppPool。在使用vs2010开发的程序时,由于使用的是.NET Framework 4.0,所以部署到IIS上的时候,页面提示“无法识别的属性targetFramework"错误。 阅读全文

posted @ 2011-04-04 22:51 孤独者 阅读(5754) 评论(0) 推荐(1)

摘要:以前在写ajax请求时,总是喜欢使用jQuery+ashx的方式进行调用,今天采取jQuery+WebService的方法来做ajax请求,发现这种方式比使用ashx的方式要更方便。个人感觉有两点是比较方便的:第一,在对WebService做ajax请求的时候,请求的url的写法是:服务地址/调用的方法名称,这样在请求的url中就确定了要调用的方法了,不必再在WebService代码中去判断ajax请求调用的是哪个方法了。第二,方法可以返回更多的数据类型,比如对象,泛型集合等;在ajax请求返回后,会自动将这些类型转换为json对象。而使用ashx的方式的话,需要先将这些类型转换为json格式的数据才能返回。 阅读全文

posted @ 2011-03-26 20:34 孤独者 阅读(1027) 评论(2) 推荐(0)

摘要:一直使用Sql Server数据库,最近使用Access数据库做了一个练习,发现Access和Sql Server数据库的使用还是有些不一样的地方,在做练习的过程中,发现了一些问题,记录一下。 阅读全文

posted @ 2011-03-25 23:40 孤独者 阅读(860) 评论(0) 推荐(0)

摘要:在最近的一个项目中,用到在GridView模板列中添加有DropDownList控件,并开启其AutoPostback属性。当发生SelectedIndexChanged事件时,想同时获取其所在的行号,从而获取相应的行信息。由于DropDoweList与button不同,无法指定其CommandName,所以,也就没办法通过常规的方法捕获所在行的索引。颇费了些周折,后来找到用NamingContainer属性解决了问题。 阅读全文

posted @ 2011-03-16 16:51 孤独者 阅读(617) 评论(0) 推荐(0)

摘要:在项目中经常需要用到读写Excel表格的功能,本文讲讲在ASP.NET中将数据导入到Excel表格中的基本方法。 阅读全文

posted @ 2011-03-10 23:05 孤独者 阅读(2380) 评论(4) 推荐(2)

摘要:在使用Repeater控件时,我们可能经常要获取Repeater控件中的子控件,在后台代码中我们可以通过使用FindControl方法来获取Repeater控件中的子控件。但是有时可能需要使用Javascript无刷新地获取Repeater控件的子控件,以前总是觉得使用了像Repeater这样的服务器数据控件后,很难获取到它里面的子控件,后来点击查看页面的源代码发现,其实在生成的客户端代码中,仔细观察会发现,它里面的子控件生成的ID是有规律的,这样我们可以使用jQuery获取到每一个控件。 阅读全文

posted @ 2011-01-25 12:58 孤独者 阅读(2909) 评论(0) 推荐(0)

摘要:今天在使用RadioButtonList的时候,出现了一个奇怪的问题,就是我想通过RadioButtonList的SelectedItem属性获取它的选中项的时候,总是提示SelectedItem的值为空。后来才发现原来是数据绑定的问题,我在Page_Load函数中为RadioButtonList控件设定数据源并进行绑定,但是没有添加if(!Page.IsPostBack),这样在点击提交按钮时,RadioButtonList每次都进行重新绑定,原来选择的项也变成了未选中,这样在提交按钮的事件中去获取SelectedItem属性,得到的肯定是null。 阅读全文

posted @ 2011-01-13 09:27 孤独者 阅读(1203) 评论(2) 推荐(1)

摘要:在项目开发中,我们可能有这样的需求,就是每隔一段时间,由系统来执行自己预先定义好的一些任务,比如说每隔多久检查一下系统中是否有待发送的邮件,随时监控一些文件的操作等,我们可以通过创建Windows服务程序来实现,关于Windows服务程序的详细介绍请看这篇文章:用Visual C#创建Windows服务程序。看了这篇文章之后,自己动手实践了一下,现在将自己的操作步骤记录如下:1.新建Windows项目,选择"Windows服务"类型的工程。2.生成的Program.cs文件中,定义了服务启动的Main函数。代码 3.在新建的工程中,点击Service1.cs文件,切换到代码视图,生成的代码继承 阅读全文

posted @ 2011-01-10 17:31 孤独者 阅读(5405) 评论(12) 推荐(0)

摘要:在一些项目中,经常要执行批量的新增操作。如果每插入一条数据,就连接一次数据库,这样会带来很大的性能问题,使用SqlBulkCopy类可执行批量的插入操作,减少了与数据库的交互次数,提高了效率,具体做法如下:1.定义一个DataTable,并从数据库中获取表结构。2.遍历泛型集合,将集合中的每一个对象,赋值给DataTable中的每一行。3.获取一个DataTable后,通过使用SqlBulkCopy类执行批量操作。具体代码如下:对于SqlBulkCopy类的一些其他用法,请参考周公的这篇文章:http://blog.csdn.net/zhoufoxcn/archive/2007/11/07/1 阅读全文

posted @ 2011-01-07 12:00 孤独者 阅读(641) 评论(0) 推荐(0)

摘要:在ASP.NET后台代码中,对于这样的URL请求地址:http://www.abc.com?id=001,我们可以通过Request.QueryString["id"]的方法很容易的获取到URL中请求的参数的值,但是要在前台js代码中获取请求的参数的值,应该怎么做呢?当然我们可以在后台中获取参数的值,然后在前台js代码中获取变量的值,具体做法请参考我的这篇文章:JavaScript获取后台C#变量以及调用后台方法。其实我们也可以直接在js中获取请求的参数的值,通过使用window.location.search可以获取到当前URL的?号开始的字符串,如前面的链接获取到的search为?id=0 阅读全文

posted @ 2010-12-22 12:23 孤独者 阅读(896) 评论(0) 推荐(0)

摘要:有时需要在JavaScript中获取后台变量的值,来判断JavaScript的执行逻辑,或者需要调用C#后台方法获取数据,我们可以使用%= %表达式很容易地实现,%= %主要是对表达式进行绑定,并计算表达式的值。  1.JavaScript获取后台变量。在后台声明一个全局变量,并将变量的访问属性设置为protected或public,就可以在页面使用了。在后台C#代码中声明一个protected或public类型的变量:在前台js中获取变量的值:  2.在JavaScript调用后台方法。在后台声明一个public类型的方法,方法的访问属性必须为public,这样才能在前台访问。在后台 阅读全文

posted @ 2010-12-22 11:35 孤独者 阅读(6537) 评论(4) 推荐(2)

摘要:在使用用户控件时,会碰到这样的问题,如果要设置html控件的路径,有时可能会出问题。因为用户控件可能要在多个页面使用,在不同的页面路径可能不同,为了保证用户控件在所有的页面都能使用,并且html控件的路径不会出问题,可以使用ResolveUrl这个方法来设置路径。ResolveUrl方法可以返回页面所在应用程序下的相对地址。1.设置用户控件中img标签的图片路径时,可以使用ResolveUrl来实现。img src="%=ResolveUrl("~/images/Default/index_bottom1.gif") %"/上面的效果与使用Image服务器控件,设置它的ImageUrl 阅读全文

posted @ 2010-12-21 17:52 孤独者 阅读(1249) 评论(0) 推荐(0)

摘要:为了通过ajax异步获取数据,我通过使用jquery的$(function{})方法,在页面加载时发送ajax请求,获取相关的数据。但是遇到了一个问题,当我发送的ajax请求需要根据传过来的URL参数来获取数据时,这就存在一个问题,怎样将后台获取的参数传递给前台js的问题。由于页面是先加载jquery的ajax请求页面,再执行后台代码的Page_Load方法,所以必须在获取参数之后再调用ajax方法。可以通过在后台代码中注册前台js代码,控制它的执行顺序。  后台C#代码如下:  前台js代码如下: 阅读全文

posted @ 2010-12-21 17:03 孤独者 阅读(5154) 评论(2) 推荐(1)

摘要:在网站中可能经常需要给用户发送邮件,而给不同的用户发送的邮件内容,除了部分内容不一样外,大部分内容可能是相同的,这就需要按模板发送邮件。基本思想就是先定义一个邮件模板,在邮件模板中定义要替换的字符串,然后通过使用正则表达式查找并进行替换。 阅读全文

posted @ 2010-12-21 11:08 孤独者 阅读(1203) 评论(0) 推荐(0)

摘要:在做参数化查询的时候,碰到了一个问题,就是应该将模糊查询符号"%"应该放在哪里,,最后上网查资料后得知,只要放在给参数赋值的地方就可以了,具体操作如下。1.定义参数并赋值SqlParameter par=new SqlParameter("@keyWords",SqlDbType.NVarChar);par.Value="%"+keyWords+"%";2.参数化查询语句select name,age,classfrom Studentwhere name like @keyWords 阅读全文

posted @ 2010-12-10 17:59 孤独者 阅读(629) 评论(0) 推荐(0)