[实战]浅谈“是”或“否”的ASP.NET 2.0 数据库编程开发

在数据表的字段中我们将“是”或“否”设计成bit数据类型,我们会发现,bit 数据类型的值在 SQL Server 2005 Management Studio 中有个特点:

在设计表中值为0或1(见图1),而在打开表中值为False或True(见图2)。

图1

图2

要在web上显示该值,我们用强大的GridView数据绑定,用BoundField控件显示该列。在存储过程中,SQL脚本如下

Select , OnCatalogPromotion

From 某数据表

注(Note):... 为略写部分哦~

不用想也不用猜,ASP.NET 在网页中的情况是原样上数据值,是False就还是False,是 True 就还是True。而GridView几乎不可自定义编写BoundField显示的列值。看来想用代码编写是不太方便的了。

只好有请SQL脚本判断语句的帮忙了:

Select , (CASE WHEN OnCatalogPromotion = 0 THEN '' ELSE '' END) OnCatalogPromotion

From 某数据表

注意还要定义正确存储过程中此列的数据:

OnCatalogPromotion varchar(2)

网页中显示的便是“是”或“否”了。

另:GridView控件代码编写的方法见:

http://www.cnblogs.com/wcj1984abc/archive/2008/05/06/1185564.html

上面的部分只是简单的显示,接下来我们实现修改并更新的功能。

第一步:从数据表中得到该值后让 DropDownList 为该所选,再进行下拉的选择。

在DropDownList控件中已有了需要的两个选项:“是”和“否”。

下面是C#程序部分来实现我们分析的思路:

Code
if (OnCatalogPromotionValue == "True")
 {
      ddlOnCatalogPromotion.SelectedItem.Text 
= "";
 }
else
{
      
ddlOnCatalogPromotion.SelectedIndex = 1;
      ddlOnCatalogPromotion.SelectedItem.Text 
= "";
}

注意:SelectedItem有两个相关的属性:Text 与 Value 两者的不同。

然后是根据用户所选提交修改实现更新:

Code
string OnCatalogPromotionValue = ddlOnCatalogPromotion.SelectedValue.ToString();
if (OnCatalogPromotionValue == "")
{
    OnCatalogPromotionValue 
= "True";
}
else
{
    OnCatalogPromotionValue 
= "False";
}

最后,我们测试网页中显示的效果:

上图为“是”的网页显示效果。

posted on 2009-01-05 16:55  豆豆の爸爸  阅读(421)  评论(0编辑  收藏  举报