DataList如何根据不同的状态显示不同的文本

来源:百度知道 编辑:UC知道 时间:2024/06/14 01:31:26
我在添加新闻时有一个状态控制这篇文章,比如未审,待审,通过这三个状态分别用0,1,2来代替.
在文章显示列表中.我如何在DataList的某一位置用中文(未审,待审,通过)来显示这篇文章的状态呢.
比如:
这篇文章是没有审核的.现在怎样显示"未审"这两个字.
这篇文章是待审核的.现在怎样显示"待审"这两个字.
这篇文章是已经通过审核的.现在怎样显示"通过"这两个字.

我用<%# DataBinder.Eval(Container.DataItem,"status") %> 的话,他显示是只是数字,而不是中文.请问怎么处理这个问题.

//前台绑定
<%# getStatus(DataBinder.Eval(Container.DataItem,"status")) %>
//后台方法
public string getStatus(object obj)
{
int status =Convert.ToInt32(obj.ToString());
switch (status)
{
case 0:
return "未审";
case 1:
return "待审";
default:
return "通过";
}
}

假设status是数值,未审是0,已审是1
select 列1,列2,(case when status=0 then '未审' else '已审' end)'status' from 表
这样的话,你绑定的"status"显示出来的就是中文了

或者在程序里写一个函数
如 private string ConvertStatus(int status){
if(status==0) return '未审'
else return '已审'
}

<%# ConvertStatus(DataBinder.Eval(Container.DataItem,"status").ToString()) %>