ASP.NET:利用IsPostBack解决PageLoad重复执行的问题
作者:李嘉 日期:2009-06-29 15:09
问题详述:
每次当用户单击页面中的Button、LinkButton或ImageButton控件时都会回传表单数据到服务端并执行PageLoad事件,这就是ASP.NET初学者经常遇到的问题——每次单击页面中的Button、LinkButton或ImageButton控件时页面上一些数据被重复绑定了!其实,PageLoad事件中含有页面的初始化代码,但是有些代码只要在首次加载页面的时候才会执行,如果每次加载都执行这些代码势必会增加不必要的系统开销。这就需要我们来控制初始化代码的加载。
详细解答:
利用PostBack可以控制页面的初始化代码的加载,关于Postback,我们首先可以看看ASP.NET的页面生命周期的描述。在页面第一次加载时,PostBack属性是False,如果页面是通过提交回发到服务器,则PostBack为True。
变形金刚二2绝对震撼片段在线观看
作者:李嘉 日期:2009-06-27 15:39
如何每次INSERT一条SELECT的数据时候取得@@IDENTITY并做一些操作
作者:李嘉 日期:2009-06-26 17:43
提问:
INSERT INTO TABLE1(Title,Created) SELECT Title,getdate() FROM TABLE2 WHERE TABLE2.ID IN (1,2,3,4,5,6)
DECLARE @ID INT; /* 用于得到Insert之后自动增长列的值 */
SELECT @ID=@@IDENTITY;
如上语句,我使用INSERT INTO...SELECT...方式批量插入数据,一共插入了六条数据,我想每次INSERT一条的时候取得@@IDENTITY并做一些操作,如上代码是执行完一段批量INSERT再去得到@@IDENTITY就只能获取最后一个INSERT的数据的自动增长列的ID号。
请问:我如何每次INSERT一条SELECT的数据时候取得@@IDENTITY并做一些操作
回答:
目前只能使用游标来操作,如下代码所示:
/* copy stages */
Declare @Title NVARCHAR(1000)
Declare @Created DATETIME
Declare @SortNumber INT
Declare cur_Stages Cursor
For SELECT Title,getdate() AS Created,SortNumber FROM PR_Stage WHERE StageID IN (SELECT StageID FROM PR_WorkflowStage WHERE WorkflowID=@WorkflowID)
Open cur_Stages
Fetch From cur_Stages into @Title,@Created,@SortNumber
While @@Fetch_Status=0
Begin
INSERT INTO PR_CloneStage(Title,Created,Creator,SortNumber) VALUES(@Title,@Created,@Creator,@SortNumber)
DECLARE @SID INT;
SELECT @SID=@@IDENTITY;
/* 这里放置你需要进行的操作 */
Fetch From cur_Stages into @Title,@Created,@SortNumber
End
Close cur_Stages
Deallocate cur_Stages
以上你Ms Sql2000的一个应用,只给出一个思路,sql2005和2008或许有更好的方法。
网络钢琴Flash钢琴,真的可以弹得很好听(可以娱乐的游戏)
作者:李嘉 日期:2009-06-25 23:36
李嘉的科研站Google SEO实况4:Google网站收录跟踪分析
作者:李嘉 日期:2009-06-23 21:10
今天Google爬虫又重新爬取了李嘉的科研站首页,而Google的网页快照还停留在 2009年6月19日 00:07:17 GMT。就是说爬虫在2009年6月19日 00:07:17 GMT对首页进行了爬取,今天又进行了第二次爬取。2009年6月19日的一些文章Google还没能收录,暂时只收录了最新的首页。目前的分析来看,Google对李嘉的科研站的首页更新很勤,2-3天爬取一次,甚至更短。但Google分析首页的一些文章内容再去收录这些文章,这个过程有点长,因此2009年6月19日的一些文章Google还没有收录,Google需要一段时间运行它的算法来分析爬虫获取到的首页的文章link,并分析这些link下的文章内容,整个算法分析完毕之后,才收录这些文章,但我不得不承认,Google分析文章内容的算法确实很强大,科研站中一些对用户很实用的解决问题方案,在Google中查询相关关键字,这篇文章会在Google排得很前,比如以下关键字:
什么是CPA网赚
js 键盘 key
数据结构 数据表
....(以上取自CnZZ数据专家的访问明细,是用户在搜索引擎的真实查询)
目前我在分析(1)从Google爬虫爬取首页到(2)Google收藏首页(并形成首页的网页快照)再到(3)Google收藏首页的所有文章(子页面),最后形成子页面的页面快照这个时间有多长,总之目前的分析来看,Google收录网站的文章需要经过这三个步骤,每个步骤都需要一定的时间,今天暂时先写到这里,分析到这里。等我分析完Google收录网站文章的整个过程之后,我会进行下一步的分析,甚至涉及到一些Google的各类算法(PR算法等)。在进行PR算法分析的时候,我会根据实验来提升李嘉的科研站的PR值(目前为3),我会分几种方式去尝试提高PR值,并根据每种方式的结果分析最有效地提高PR值的方法。
SQL Server 2000如何将Select得到的数据再Insert到另外一张表
作者:李嘉 日期:2009-06-22 21:45
刚刚客户有个要求,举个例子:目前有三张表:
- CandidateBase : 学生信息表(主键CandidateID)
- ProgramBase : 科目信息表(CandidateID,ProgramID)
- CandidateProgram : 学生信息和科目信息关系表(主键ProgramID)
客户要求:给CandidateBase表中凡是Major字段为'MA-ARTE'的学生和ProgramBase表中NewProgramCode='MA-ARTE'的科目做一下关联。
分析:CandidateBase表中Major字段为'MA-ARTE'的学生可能为多个,ProgramBase表中NewProgramCode='MA-ARTE'的科目只有一个,那么我们就得首先得到那个科目ID(ProgramID),然后将CandidateBase表中Major字段为'MA-ARTE'的学生Select出来再将ProgramID一起Insert到关系表中,代码如下:
DECLARE @ProgramID INT
SELECT @ProgramID=ProgramID FROM [dbo].ProgramBase WHERE NewProgramCode='MA-ARTE'
INSERT INTO CandidateProgram(CandidateID,ProgramID) SELECT CandidateID,@ProgramID FROM [dbo].CandidateBase WHERE Major='MA-ARTE'
这样就能轻松实现客户给予的要求了。
投资者到底应不应该听李嘉诚声称的“考虑买入股票和房地产的时机到了”
作者:李嘉 日期:2009-06-22 13:55
Visual Studio 2003 (VS.NET 2003) 企业中文破解版推荐下载
作者:李嘉 日期:2009-06-21 09:54
软件介绍:
Visual Studio .NET 2003是一套完整的开发工具,用于生成 ASP Web 应用程序、XML Web services、桌面应用程序和移动应用程序。Visual Basic .NET、Visual C++ .NET、Visual C# .NET 和 Visual J# .NET 全都使用相同的集成开发环境 (IDE),该环境允许它们共享工具并有助于创建混合语言解决方案。另外,这些语言利用了 .NET Framework 的功能,此框架提供对简化 ASP Web 应用程序和 XML Web services 开发的关键技术的访问。
下载地址:
提示:下完一个再下另外一个,同时下容易被服务器误判为盗链,如无法下载,过一分钟再试。
