许松--永恒学习屋
努力并不一定会成功,但放弃一定会失败!
摘要: Dim strScript As String = ""); 例: linkcolumn1.DataNavigateUrlFormatString="javascript:varwin=window.open('edit_usr.aspx?actid={0}','newwin','width=750,height=600,scrollbars=yes,top=50,left=50');window.close()"; 阅读全文
posted @ 2008-08-06 18:41 yongheng's blogs 阅读(2115) 评论(0) 推荐(0)
摘要: 1. 数据库访问性能优化 数据库的连接和关闭 访问数据库资源需要创建连接、打开连接和关闭连接几个操作。这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源。ASP.NET中提供了连接池(Connection Pool)改善打开和关闭数据库对性能的影响。系统将用户的数据库连接放在连接池中,需要时取出,关闭时收回连接,等待下一次的连接请求。连接池的大小是有限的,如果在连接池达到最大限度后仍要求创建连接,必然大大影响性能。因此,在建立数据库连接后只有在真正需要操作时才打开连接,使用完毕后马上关闭,从而尽量减少数据库连接打开的时间,避免出现超出连接限制的情况。 使用存储过程 存储过程是存储在服务器上的一组预编译的SQL语句,类似于DOS系统中的批处理文件。存储过程具有对数据库立即访问的功能,信息处理极为迅速。使用存储过程可 阅读全文
posted @ 2008-08-06 18:36 yongheng's blogs 阅读(162) 评论(0) 推荐(0)
摘要: 首先,在pageload里写入以下代码:Response.Write(" 然后,用(注意不是openwin而是loadpop啊!)替换主页面中原有的 这一句即可。你可以试着刷新一下这个页面或重新进入该页面,窗口再也不会弹出了。真正的Pop -Only-Once! 写到这里弹出窗口的制作和应用技巧基本上算是完成了,俺也累坏了,一口气说了这么多,希望对正 在制作网页的朋友有所帮助俺就非常欣慰了。 需要注意的是,JS脚本中的的大小写最好前后保持一致。 阅读全文
posted @ 2008-08-06 18:26 yongheng's blogs 阅读(2421) 评论(1) 推荐(0)
摘要: 用存储过程 一个查询的存储过程. 把查询的记录返回 .net里我接收这个返回的记录集. 答案: (1)执行一个没有参数的存储过程的代码如下: SqlConnection conn=new SqlConnection(“connectionString”); SqlDataAdapter da = new SqlDataAdapter(); da.selectCommand = new SqlCommand(); da.selectCommand.Connection = conn; da.selectCommand.CommandText = "NameOfProcedure"; da.selectCommand.CommandType = CommandType.StoredProcedure; (2)执行一个有参数的存储过程的代码如下 SqlConnection conn=new SqlConnection(“connectionString”); SqlDataAdapt 阅读全文
posted @ 2008-08-06 18:24 yongheng's blogs 阅读(259) 评论(0) 推荐(0)
摘要: //绑定字段 //实现自动编号 通常使用的方法(这三个性能最好) 其他用法 %# ((DataRowView)Conta 阅读全文
posted @ 2008-08-06 18:18 yongheng's blogs 阅读(548) 评论(0) 推荐(0)
摘要: 文件的上传下载是我们在实际项目开发过程中经常需要用到的技术,这里给出几种常见的方法,本文主要内容包括: 1、如何解决文件上传大小的限制 2、以文件形式保存到服务器 3、转换成二进制字节流保存到数据库以及下载方法 4、上传Internet上的资源 第一部分: 首先我们来说一下如何解决ASP.NET中的文件上传大小限制的问题,我们知道在默认情况下ASP.NET的文件上传大小限制为2M,一般情况下,我们可以采用更改WEB.Config文件来自定义最大文件大小,如下: 这样上传文件的最大值就变成了4M,但这样并不能让我们无限的扩大MaxRequestLength的值,因为ASP.NET会将全部文件载入内存后,再加以处理。解决的方法是利用隐含的HttpWorkerRequest,用它的GetPreloadedEntityBody和ReadEntityBody方法从IIS为ASP.NE 阅读全文
posted @ 2008-08-06 18:16 yongheng's blogs 阅读(277) 评论(0) 推荐(0)
摘要: GridView是VS2005中對VS2003的DataGrid的增強替代控件 下面展示一下它的基本常見應用 效果圖如下: [查詢]按鈕:查詢數據庫 ,顯示信息Table 並 綁定GridView //查詢按鈕 protected void btnQue_Click(object sender, EventArgs e) { this.tableInfo.Visible = true; SqlConnection sqlconn = new SqlConnection("server=localhost;database=db;uid=uid;pwd=pwd;"); sqlconn.Open(); SqlDataAdapter sda = new SqlDataAdapter("select * from table", sqlconn); DataSet ds = new DataSet(); sda.Fill(ds); this.grvInfo.DataSource = ds; this.grvInfo.DataBind(); sda.Dis 阅读全文
posted @ 2008-08-06 16:34 yongheng's blogs 阅读(482) 评论(0) 推荐(0)
摘要: 关于VS2005中GridView的自定义分页,单选、多选、排序、自增列的简单应用。 多选时,只有全部选中时“多选”才选中。 图片效果: 简单示例,代码如下, fenpage.aspx的代码: form id="form1" runat="serve 阅读全文
posted @ 2008-08-06 16:23 yongheng's blogs 阅读(406) 评论(0) 推荐(0)
摘要: (1)数据记录筛选: sql="select*from数据表where字段名=字段值orderby字段名[desc]" sql="select*from数据表where字段名like'%字段值%'orderby字段名[desc]" sql="selecttop10*from数据表where字段名orderby字段名[desc]" sql="select*from数据表where字段名in('值1','值2','值3')" sql="select*from数据表where字段名between值1and值2" (2)更新数据记录: sql="update数据表set字段名=字段值where条件表达式" sql="update数据表set字段1=值1,字段2=值2……字段n=值nwhere条件表达式" (3)删除数据记录: sql="deletefrom数据表where条件表达式" sql="deletefrom数据表"(将数据表所有记录删除) (4)添加数据记录: sql="insertinto数据表(字段1,字段2,字段3…)value 阅读全文
posted @ 2008-08-05 23:58 yongheng's blogs 阅读(628) 评论(0) 推荐(1)
摘要: 1.document.write(""); 输出语句 2.JS中的注释为// 3.传统的HTML文档顺序是:document->html->(head,body) 4.一个浏览器窗口中的DOM顺序是:window->(navigator,screen,history,location,document) 5.得到表单中元素的名称和值:document.getElementById("表单中元素的ID号").name(或value) 6.一个小写转大写的JS: document.getElementById("output").value = document.getElementById("input").value.toUpperCase(); 7.JS中的值类型:String,Number,Boolean,Null,Object,Function 8.JS中的字符型转换成数值型:parseInt(),parseFloat() 9.JS中的数字转换成字符型:(""+变量) 10.JS中的取字符串长度是:(length) 11.JS中的字符与字符相连接使用+号. 阅读全文
posted @ 2008-08-05 23:52 yongheng's blogs 阅读(469) 评论(0) 推荐(0)
摘要: 问: 1.如何在JavaScript访问C#函数? 2.如何在JavaScript访问C#变量? 3.如何在C#中访问JavaScript的已有变量? 4.如何在C#中访问JavaScript函数? 问题1答案如下: javaScript函数中执行C#代码中的函数: 方法一:1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中; 2、在前台写一个js函数,内容为document.getElementById("btn1").click(); 3、在前台或后台调用js函数,激发click事件,等于访问后台c#函数; 方法二:1、函数声明为public 后台代码(把public改成protected也可以) public string ss() { return("a"); } 2、在html里用可以调用 前台脚本 " tmp是后台变量,然后js中可以直接访问temp获得值。 阅读全文
posted @ 2008-08-05 23:43 yongheng's blogs 阅读(675) 评论(1) 推荐(0)
摘要: 快速预览: GridView无代码分页排序 GridView选中,编辑,取消,删除 GridView正反双向排序 GridView和下拉菜单DropDownList结合 GridView和CheckBox结合 鼠标移到GridView某一行时改变该行的背景色方法一 鼠标移到GridView某一行时改变该行的背景色方法二 GridView实现删除时弹出确认对话框 GridView实现自动编号 GridView实现自定义时间货币等字符串格式 GridView实现用“...”代替超长字符串 GridView一般换行与强制换行 GridView显示隐藏某一列 GridView弹出新页面/弹出新窗口 GridView固定表头(不用javascript只用CSS,2行代码,很好用) GridView合并表头多重表头无错完美版(以合并3列3行举例) GridView突出显示某一单元格(例如金额低于多少,分数不及格等) GridView加入自动求和求平均值小计 GridView数据导入Excel/Excel数据读入GridView 1.GridVie 阅读全文
posted @ 2008-08-05 23:30 yongheng's blogs 阅读(634) 评论(0) 推荐(0)
摘要: 我下载安装试用了一下,没有写一行代码,实现了一个简单的AJAX应用,以下为截图说明。 开发环境:VS2005+ASP.NET AJAX 1.0 RC 首先下载ASP.NET AJAX 1.0 RC安装文件,完成安装后即可进行我们的AJAX之旅了。 1.打开VS2005,点击“新建”-“文件”-“网站”,选择“ASP.Net-AJAX Enabled Web Site”模板,这个模板是我们安装ASP.NET AJAX 1.0 RC后多出来的模板 2.可以看到左侧工具箱多了一个AJAX Extensions,下面包括Timer,ScriptManager,ScriptManagerProxy,UpdateProgress,UpdatePanel等几个控件,右侧的代码视图,可以看到form标签中增加了一个ScriptManager控件的标签 3.从左侧拖动一个UpdatePanel控件放在ScriptManager控件下面 4.然后从工具箱中拖动一个GridView控件放在UpdatePanel控件中 5.在GirdV 阅读全文
posted @ 2008-08-04 09:24 yongheng's blogs 阅读(278) 评论(0) 推荐(0)
摘要: 2.3 安装ASP.NET AJAX 前面讲了这么多也许令人昏昏欲睡的概念,相信你已经迫不及待地想尝试一下ASP.NET AJAX了,那么就让我们从安装开始吧! 2.3.1 预先需求 若要安装并使用ASP.NET AJAX框架的全部功能进行开发,那么你的操作系统必须是Windows 2000、Windows XP、Windows Server 2003或Windows Vista,并应该安装好如下软件: Microsoft .NET Framework Version 2.0或以上; 至少一种流行的浏览器:IE 5.01(推荐使用IE 6.0)或FireFox 1.5; Visual Studio 2005(各种版本均可)或者Visual Web Developer Express Edition; Internet Information Service(IIS)。 需要特别注意的是,虽然在Windows 2000操作系统上也能正常安装ASP.NET AJAX框架,但在程序开发或运行时可能会出现一些难以预料的异常。所以若没有特殊需要的话 阅读全文
posted @ 2008-08-03 22:41 yongheng's blogs 阅读(1225) 评论(0) 推荐(0)
摘要: 本文将使用Timer控件更新两个UpdatePanel控件,Timer控件将放在UpdatePanel控件的外面,并将它配置为UpdatePanel的触发器,翻译自官方文档。 主要内容 在多个UpdatePanel中使用Timer控件 1.添加一个新页面并切换到设计视图。 2.如果页面没有包含ScriptManager控件,在工具箱中的AJAX Extensions标签下双击ScriptManager控件添加到页面中。 3.双击Timer控件添加到Web页面中。Timer控件可以作为UpdatePanel的触发器不管它是否在UpdatePanel中。 4.双击UpdatePanel控件添加一个Panel到页面中,并设置它的UpdateMode属性值为Conditional。 5.再次双击UpdatePanel控件添加第二个Panel到页面中,并设置它的UpdateMode属性值为Conditional。 6.在UpdatePanel1中单击,并在工具箱中Standard标签下双击 阅读全文
posted @ 2008-08-03 20:02 yongheng's blogs 阅读(277) 评论(0) 推荐(0)
摘要: 本文主要通过一个简单示例,让Web页面在一定的时间间隔内局部刷新,来学习一下ASP.NET AJAX中的服务端Timer控件的简单使用。 主要内容 Timer控件的简单使用 1.添加新页面并切换到设计视图。 2.如果页面没有包含ScriptManager控件,在工具箱的AJAX Extensions标签下双击ScriptManager控件添加到页面中。 3.单击ScriptManager控件并双击UpdatePanel控件添加到页面中。 4.在UpdatePanel控件内单击并双击Timer控件添加到UpdatePanel中。Timer控件可以作为UpdatePanel的触发器不管是否在UpdatePanel中。 阅读全文
posted @ 2008-08-03 20:01 yongheng's blogs 阅读(251) 评论(0) 推荐(0)
摘要: 本文简单介绍一下在母版页中使用UpdatePanel控件,翻译自官方文档。 主要内容 1.添加UpdatePanel控件到Content Page 2.通过Master Page刷新UpdatePanel 一.添加UpdatePanel控件到Content-Page 1.添加一个新的Master Page,并切换到设计视图。 2.在工具箱中AJAX Extensions标签下双击ScriptManager控件添加到页面中,确保ScriptManager控件添加在ContentPlaceHolder控件之外。 3.在ContentPlaceHolder控件添加文本“Master Page”。 4.在工具箱的HTML标签下,拖动Horizontal Rule(横线)到文本之后,页面如下: 5.创建一个Content Page,选择它的Master Page为我们刚才创建的页面。 在解决方案管理器中点击右键,并选择Add New Item菜单命令,在Add New Item对话框中选择Select mas 阅读全文
posted @ 2008-08-03 20:01 yongheng's blogs 阅读(282) 评论(0) 推荐(0)
摘要: 在UpdatePanel控件异步更新时,如果有错误发生,默认情况下会弹出一个Alert对话框显示出错误信息,这对用户来说是不友好的,本文看一下如何在服务端和客户端脚本中自定义异常处理,翻译自官方文档。 主要内容 1.在服务端自定义异常处理 2.在客户端脚本中自定义异常处理 一.在服务端自定义异常处理 1.添加ASPX页面并切换到设计视图。 2.在工具箱中AJAX Extensions标签下双击ScriptManager和UpdatePanel控件添加到页面中。 3.在UpdatePanel控件中添加两个TextBox,一个Label,一个Button和一些文字,并设置Button的Text属性值为“Calculate”。 4.双击Calculate按钮并添加如下代码到事件处理中。 protected void Button1_Click(object sender, EventArgs e) { try { int a = Int32.Parse(TextBox1. 阅读全文
posted @ 2008-08-03 19:59 yongheng's blogs 阅读(201) 评论(0) 推荐(0)
摘要: 在本篇文章中,我们将通过编写JavaScript来使用客户端行为扩展UpdateProgress控件,客户端代码将使用ASP.NET AJAX Library中的PageRequestManager,在UpdateProgress控件中,将添加一个Button,来允许用户取消异步更新,并且使用客户端脚本来显示或者隐藏进度信息。 主要内容 1.通过客户端脚本取消异步更新 2.通过客户端脚本显示或者隐藏进度信息 一.通过客户端脚本取消异步更新 1.创建一个Web页面并切换到设计视图。 2.在工具箱中双击ScriptManager、UpdatePanel、UpdateProgress控件添加到页面中。添加后页面如下: 3.在UpdatePanel控件中添加一个Label控件并设置它的Text属性值为“Panel Rendered”。 4.添加一个Button控件并设置它的Text属性值为“refresh”。 5.在UpdateProgress控件中添加文本text Processing…,并添加一个HtmlBu 阅读全文
posted @ 2008-08-03 19:59 yongheng's blogs 阅读(269) 评论(0) 推荐(0)
摘要: 在ASP.NET AJAX Beta2中,UpdateProgress控件已经从“增值”CTP中移到了ASP.NET AJAX核心中。以下两篇关于UpdateProgress的文章基本翻译自ASP.NET AJAX官方网站。 主要内容 1.UpdateProgress控件简单使用 2.使用多个UpdateProgress控件 一.UpdateProgress控件简单使用 1.创建一个Web页面并切换到设计视图。 2.在工具箱的AJAX Extensions标签下,双击ScriptManager控件添加到页面中。 3.双击UpdatePanel控件添加到页面中。 4.双击UpdateProgress控件添加到页面中。 5.在UpdateProgress控件中添加文本“Progress……”。 6.在UpdatePanel中添加一个Button和一个Label。 7.设置Label的Text属性值为“Initial Page Rendered”。 8.双击Button添加Cl 阅读全文
posted @ 2008-08-03 19:58 yongheng's blogs 阅读(300) 评论(0) 推荐(1)
摘要: UpdatePanel可以用来创建丰富的局部更新Web应用程序,它是ASP.NET 2.0 AJAX Extensions中很重要的一个控件,其强大之处在于不用编写任何客户端脚本,只要在一个页面上添加几个UpdatePanel控件和一个ScriptManager控件就可以自动实现局部更新。通过本文来学习一下UpdatePanel其他的一些使用方法(第二篇)。 主要内容 1.用编程的方法控制UpdatePanel的更新 2.UpdatePanel的嵌套使用 3.同一页面上使用多个UpdatePanel 一.用编程的方法控制UpdatePanel的更新 对于UpdatePanel,我们也可以使用编程的方法来控制它的更新,可以通过ScriptManager的RegisterAsyncPostBackControl()方法注册一个异步提交的控件,并且调用UpdatePanel的Update()方法来让它更新。再次用我在前面的文章中用到的一个无聊的时间更新例子来看一下,有时候我觉得例子过于复杂更加不好说明白所要讲的内容,如下代码所示,注意B 阅读全文
posted @ 2008-08-03 19:56 yongheng's blogs 阅读(301) 评论(0) 推荐(0)
摘要: UpdatePanel可以用来创建丰富的局部更新Web应用程序,它是ASP.NET 2.0 AJAX Extensions中很重要的一个控件,其强大之处在于不用编写任何客户端脚本,只要在一个页面上添加几个UpdatePanel控件和一个ScriptManager控件就可以自动实现局部更新。通过本文来学习一下UpdatePanel简单的使用方法(第一篇)。 主要内容 1.UpdatePanel控件概述 2.UpdatePanel工作原理 3.ContentTemplate属性 4.ContentTemplateContainer属性 5.Triggers属性 一.UpdatePanel控件概述 UpdatePanel可以用来创建丰富的局部更新Web应用程序,它是ASP.NET 2.0 AJAX Extensions中很重要的一个控件,其强大之处在于不用编写任何客户端脚本,只要在一个页面上添加几个UpdatePanel控件和一个ScriptManager控件就可以自动实现局部更新。通过本文来学习一下UpdatePanel工 阅读全文
posted @ 2008-08-03 19:53 yongheng's blogs 阅读(239) 评论(0) 推荐(0)
摘要: 在ASP.NET AJAX中,由于一个ASPX页面上只能有一个ScriptManager控件,所以在有母版页的情况下,如果需要在Master-Page和Content-Page中需要引入不同的脚本时,这就需要在Content-page中使用ScriptManagerProxy,而不是ScriptManager,ScriptManager 和 ScriptManagerProxy 是两个非常相似的控件。 主要内容 1.ScriptManagerProxy控件概述 2.简单示例 一.ScriptManagerProxy控件概述 在ASP.NET AJAX中,由于一个ASPX页面上只能有一个ScriptManager控件,所以在有Master-Page的情况下,如果需要在Master-Page和Content-Page中需要引入不同的脚本时,就需要在Content-page中使用ScriptManagerProxy,而不是ScriptManager,ScriptManagerProxy和 ScriptManager是两个非常相似的控件。简单定义形式如下 阅读全文
posted @ 2008-08-03 19:50 yongheng's blogs 阅读(166) 评论(0) 推荐(0)
摘要: ScriptManager控件包括在ASP.NET 2.0 AJAX Extensions中,它用来处理页面上的所有组件以及页面局部更新,生成相关的客户端代理脚本以便能够在JavaScript中访问Web Service,所有需要支持ASP.NET AJAX的ASP.NET页面上有且只能有一个ScriptManager控件。在ScriptManager控件中我们可以指定需要的脚本库,或者指定通过JS来调用的Web Service,以及调用AuthenticationService和ProfileService,还有页面错误处理等。 主要内容 1.控件概述 2.一个简单的示例 3.客户端脚本模式 4.错误处理 5.Services属性 6.Scripts属性 一.控件概述 ScriptManager控件包括在ASP.NET 2.0 AJAX Extensions中,它用来处理页面上的所有组件以及页面局部更新,生成相关的客户端代理脚本以便能够在JavaScript中访问Web Service,所有需要支持ASP.NE 阅读全文
posted @ 2008-08-03 19:43 yongheng's blogs 阅读(284) 评论(0) 推荐(0)
摘要: 经常关注我的Blog的朋友可能注意到了,在我Blog的左边系列文章中,已经移除了对Atlas学习手记系列文章的推荐,因为随着ASP.NET AJAX 1.0 Beta版的发布,它们已经不再适用,为了不继续误导广大朋友,所以不再作为推荐系列文章,如果有需要参考的朋友,可以直接到随笔分类中查看。 ASP.NET AJAX Beta改动如此之大,鉴于又没有很好的中文参考资料,所以决定最近开始写作ASP.NET AJAX入门系列,这个系列我会把ASP.NET AJAX当作一个全新的东西去对待,不再考虑以前的Atlas,把自己对ASP.NET AJAX的研究与大家分享,便于初学的朋友少走一些弯路。对Atlas熟悉的朋友可以推荐看Dflying Chen的《拥抱变化——从Atlas到ASP.NET AJAX系列》,以及老赵的《深入Atlas系列》。由于个人的能力和掌握的程度有限 ,难免出现错误和遗漏的地方,还请大家多多理解和指正。 OK,让我们从这里开始! 一.ASP.NET AJAX组成部分 在ASP.NET AJAX官方网站上有如下三个下载: 1.ASP 阅读全文
posted @ 2008-08-03 19:42 yongheng's blogs 阅读(212) 评论(0) 推荐(0)
摘要: 1. 简述 private、 protected、 public、 internal 修饰符的访问权限。 答 . private : 私有成员, 在类的内部才可以访问。 protected : 保护成员,该类内部和继承类中可以访问。 public : 公共成员,完全公开,没有访问限制。 internal: 在同一命名空间内可以访问。 2 .列举ASP.NET 页面之间传递值的几种方式。 答. 1.使用QueryString, 如....?id=1; response. Redirect().... 2.使用Session变量 3.使用Server.Transfer 3. 一列数的规则如下: 1、1、2、3、5、8、13、21.... 求第30位数是多少,用递归算法实现。 答:public class MainClass { public static void Main() 阅读全文
posted @ 2008-08-02 21:37 yongheng's blogs 阅读(2633) 评论(0) 推荐(2)
摘要: 1.检测到有潜在危险的 Request.Form 值 原因: (1)在提交数据的页面或webconfig中没有对validateRequest的属性进行正确的设置 (2)HTML里面写了两个 引起 解决: 方案一: 在.aspx文件头中加入这句: 方案二: 修改web.config文件: 以下是引用片段: 因为validateRequest默认值为true。只要设为false即可。 2.“在没有任何数据时进行无效的读取尝试”解决办法 原因: 所返回的sqldatareader无数据记录,但没有作记录判断力处理。返回的是空值 加上判断即可: if (reader.read()) { TextName.Text = reader["FieldNa 阅读全文
posted @ 2008-08-02 21:34 yongheng's blogs 阅读(280) 评论(0) 推荐(0)