如标题所示:
原来的语句为
<td><%# Eval("Status").ToString()%></td>
现在需要改成判断它的值,如果为1 则显示“需要加紧”,如果为2,则显示“已经完成”,如果3,则显示“状态3”,如果是4····依次类推。
我用的是switch的写法,报错了,请大家帮我看看哦。
<td><%
switch (int.Parse(Eval("Status").ToString()))
{
case 1:<%# Eval("已受理待跟进").ToString()%>;break;
}
%>
</td>
dudu那样写会提示你switch表达式错误,我也不会那样写,反正有Eval的时候就在<%后面紧跟一个#,其余的就不用加了,但是你加#后,就会提示你switch表达是错误,暂时给你三种办法:(啥时候知道dudu那种写法好用了告诉我声嗯)
一、使用三元表达式,多层嵌套(容易绕哈)。
二、在你的数据绑定控件外侧声明一个枚举
<script runat="server" type="text/C#">
public enum GetStatus { 结果1 = 1, 结果2 = 2 }
</script>
然后在数据绑定列,例如模版列写:
<%# (GetStatus)Enum.Parse(typeof(GetStatus), Eval("Status").ToString())%>
三、在你的数据绑定控件外侧声明一个方法
<script runat="server" type="text/C#">
public string getStr(string str)
{
string _str = string.Empty;
switch (Convert.ToInt32(str))
{
case 1:
_str = "结果1";
break;
case 2:
_str = "结果2";
break;
default:
_str = "结果default";
break;
}
return _str;
}
</script>
然后在数据绑定列,例如模版列写:
<%#getStr(Convert.ToString(Eval("Status")))%>
后两种方法最好写在后台,放前台乱七八糟的,嗯
在后台写个方法吧
case 1:<%="已受理待跟进"%>;break;