我试图将转发器的css样式更改为不同状态的不同颜色。预期输出是打印6种不同的状态,如:正在进行,完成,撤消等等。目前它有一种颜色,所以它只显示一种颜色。这里具有挑战性的部分是根据状态动态改变颜色。我怎么做到这一点?目前,它基于下面的“状态noAction文本中心”类来提取样式。我应该对后面的代码进行任何更改,还是仅仅是前端css更改。有人可以给我一个例子。
.aspx代码:
private void GB()
{
var surveyId = 55;
var stateLabels = _manageDatasets.GetStateLabels(surveyId);
List<Status> statusesList = new List<Status>();
foreach (var sl in stateLabels)
{
if (sl.Key != -1)
statusesList.Add(new Status { ID = sl.Key.ToString(), Name = sl.Value }
);
}
this.rptStatuses.DataSource = statusesList;
this.rptStatuses.DataBind();
}
.cs代码相关部分
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
IntentFilter filtro = new IntentFilter(Intent.ACTION_MEDIA_BUTTON);//"android.intent.action.MEDIA_BUTTON"
MediaButtonIntentReceiver r = new MediaButtonIntentReceiver();
filtro.setPriority(1000); //this line sets receiver priority
registerReceiver(r, filtro);
}
}
答案 0 :(得分:0)
我认为您想要做的是更改您的html中的类,并使用嵌入的代码,以便能够根据状态动态更改横幅颜色等。您想要的嵌入式代码看起来像这样 -
<div class="col-md-4 col-sm-4">
<% if(status == "noAction") { %>
<div class="status noAction text-center">
<div class="banner">
<asp:Label runat="server"> <%# Eval("ID") %></asp:Label>
</div>
<div class="label"><%# Eval("Name") %></div>
</div>
<% } %>
答案 1 :(得分:0)
如果您的表中有任何列,其中转发器正在获取数据源,那么这将非常容易 类似的东西
<asp:Repeater ID="rptStatuses" runat="server">
<ItemTemplate>
<div class="col-md-4 col-sm-4">
<div class='<%# Convert.toInt32(eval("ActionColumnName"))==1 ? "status In progress text-center" : Convert.toInt32(eval("ActionColumnName"))==2 ? "status complete text-center" : Convert.toInt32(eval("ActionColumnName"))==3 ? "status withdrawn text-center" : "status noAction text-center" '>
<div class="banner">
<asp:Label runat="server"> <%# Eval("ID") %></asp:Label>
</div>
<div class="label"><%# Eval("Name") %></div>
</div>
</div>
</ItemTemplate>
</asp:Repeater>