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%>">