首页新闻找找看学习计划

Mvc如何在控制器代码里面改变视图table里面的td的字体的颜色

0
悬赏园豆:60 [已解决问题] 解决于 2013-09-02 16:49

Mvc如何在控制器代码里面改变视图table里面的td的字体的颜色 根据条件查询出数据然后给这条数据绑定颜色 之前在网上找了个但是不行 只对一条数据有用。代码是:

后台代码:

 ViewData["js"]="style=color:Red"; 
在前台的<td <%:ViewData["js"]%>>....</td>这样只对一条数据有用多了就全部覆盖了。。还有没有其他办法 老师们帮个忙吧。。
罗罗づ的主页 罗罗づ | 初学一级 | 园豆:5
提问于:2013-08-29 17:35
< >
分享
最佳答案
0

你不是问过了吗:)

很多table中要求负数显示红色的,你的要求跟这个类似吧,那我举个例子,学生成绩不及格(60分以下红色)。
1、controller中不用做任何修改,就取数据。
2、view中(下面代码未测试,Model是一个list<score>对象,每个score里有student对象):

<table>
<tr>
  <td>姓名</td>
  <td>英语成绩</td>
  <td>语文成绩</td>
</tr> 

@foreach (var score in Model)
{
<tr>
  <td>@score.Student.Name</td>
  <td @if(score.EnglishScore<60){html.raw("style='color:red'");}>@score.EnglishScore</td>
  <td @if(score.ChineseScore<60){html.raw("style='color:red'");}>@score.ChineseScore</td>
</tr>
}

收获园豆:60
kylin.chen | 小虾三级 |园豆:983 | 2013-08-29 21:58

我是aspx的我把@换成<%:if(item.Order.ToString().Equers(False){html.raw(style="color:Red";)})%>这样编译出错 是不是写错了?。。。

罗罗づ | 园豆:5 (初学一级) | 2013-08-30 09:26

@罗罗づ: If语句前面没有冒号吧?!aspx里的写法我不是很熟悉。

而且你If中的条件判断很怪异啊,string类型比较怎么直接写False呢???,还有Raw是输出字符串,你连个引号都没有,大小写也不分,而且括号也有问题。你编译器应该有自动提示功能啊,难不成你用记事本写程序??!!

还是多看看书吧,别嫌我多嘴啊,你这个基本功差十万八千里了,就你这个东西绝对可以在学校当范例来用。

这个写法:<%if(Item.Order.ToString().Equals("False")){Html.Raw("style='color:Red'");}%>

kylin.chen | 园豆:983 (小虾三级) | 2013-08-30 21:29

@kylin.chen:  嗯嗯 基本功确实有点差。 谢谢哈。 

罗罗づ | 园豆:5 (初学一级) | 2013-09-02 11:51

@罗罗づ: 需求变了不用这么写了不过真的很谢谢kylin.chen老师通过这个我明白了自己的不足有很多东西需要学习。真的很谢谢。

罗罗づ | 园豆:5 (初学一级) | 2013-09-02 16:48
其他回答(2)
0

把判断逻辑放在view里

<td <% if(XXX) { %> style="color:Red" <% } %>>....</td>

l3oz | 园豆:586 (小虾三级) | 2013-08-29 17:39

if(xxx)这个括号里面写条件 具体怎么写呢? 谢谢 

支持(0) 反对(0) 罗罗づ | 园豆:5 (初学一级) | 2013-08-29 17:51

@罗罗づ: 就是写你的条件啊,什么情况下 字体是红色的。

支持(0) 反对(0) jone_e | 园豆:1410 (小虾三级) | 2013-08-29 17:59

@罗罗づ: 你不是根据查询出的数据设置成不同的颜色么,就把你需要显示红字的条件写进去啊

支持(0) 反对(0) l3oz | 园豆:586 (小虾三级) | 2013-08-29 18:00

@l3oz: if提示都没有 条件也写不了啊 我是用的Linq查询所有的数据然后foreach遍历满足条件的就给颜色 但是这个在前台写不了啊。。  能在具体点吗? 谢谢 有点不懂啊。

支持(0) 反对(0) 罗罗づ | 园豆:5 (初学一级) | 2013-08-29 18:04
0

用改变CSS的方法吧,如 .tdRed td{color:red;} .tdNoRed td{color:#000;}

 ViewData["js"]="tdRed"; 

<table class=<%:ViewData["js"]%>>

Yu | 园豆:12944 (专家六级) | 2013-08-29 17:43

我是根据条件来的这样就相当于直接个颜色吧 谢谢 我要根据后台查询条件然后再给他颜色的那种 还有办法么?

支持(0) 反对(0) 罗罗づ | 园豆:5 (初学一级) | 2013-08-29 17:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册