日期:2014-05-17  浏览次数:20491 次

asp.net mvc 前台UI控制
最近开始学习MVC,遇到一个问题,就是前台UI需要根据后台传过来的MODEL的不同状态进行调整。
例如,我写了日记本程式,页面上就是一个日历,如果是当天,背景就改变颜色。

如以出现了以下的代码:
<%
if (当前日期是当天)
{
%>
    <td style="vertical-align: top; width: 14%; height: 60px; background-color: #faf3d3">
<%}
else
{ %>
    <td style="vertical-align: top; width: 14%; height: 60px;">
<%} %>

这样做是可以达到效果,但是代码会非常古怪,不方便维护。
敢问各位大侠,比较专业、成熟的做法应该是怎样?谢谢。

------解决方案--------------------
不古怪,是这样的,你也可以把你的这种情况归结于数据结果没有准备充分
建议你可以传递这样的数据,

IList<public class DataModel>
{
   public int day {get;set}
   public string dayclass {get;set} 
}

然后你就避免了你的情况,你说是吗?


------解决方案--------------------
可以先把class定义好,传日期的时候连同样式名一块传过来!
------解决方案--------------------
写一个JS方法,参数是当前日期和this,在方法里判断日期后,根据要求给this赋值class
class是之前定义好了的
------解决方案--------------------

<style>
 .td1{vertical-align: top; width: 14%; height: 60px; background-color: #faf3d3}
 .td2{vertical-align: top; width: 14%; height: 60px;}
</style>


<%
string classStr=td2;
if (当前日期是当天)
{
%>
   classStr="td1";
<%}
else

%>
   classStr="td2";
<%

%>
<td class="<%=classStr%>">