对于数据库字段为空时,在B/S结构下的处理方式很多,而到了dotNet时代,就和原来有了本质的不同,根本就在于更强调服务器的自行处理。下面一步一步地从大家最熟悉的东西开始说。
首先用一个简单的ASP+Access留言本为例。数据库中对于每一个留言都有对应的一个回复,并且,只要回复了的留言将会用一个数据类型未bit的messageStatus字段来标记,回复了的用“1”来标记,否则用“0”(下面只给出关键部分代码,也就是判断messageStatus字段的值是真还是假):
<% if messageRs("messageStatus")=False then %> ................(此处省略了html代码) <% else set replyRs = Server.CreateObject("adodb.recordset") replySql = "select * from reply where messageId = " & messageRs("messageId") replyRs.Open replySql,conn %> ................(此处省略了html代码) <% replyRs.Close set replyRs = nothing end if %> |
而在ASP.NET中,由于程序代码已经完全可以和html代码分开,加上所提供的服务器端控件,使我们必须要找到一种适合于ASP.NET的方式。下面就直接进入我们的正题,和大家一起探讨在ASP.NET如何更好的实现。
下面列出笔者所知道的三种方法。下面还以留言板为例。
第一种——