我正在尝试根据项目模板中数据绑定集合(从LINQ到SQL)中的值设置表格行的样式,但它不起作用。
这是我到目前为止所做的:
<ItemTemplate>
<%
string style = String.Empty;
if ((string)DataBinder.Eval(Quotes.Cu, "Status") == "Rejected")
style = "color:red;";
else if ((string)Eval("Priority") == "Y")
style = "color:green;";
if (style == String.Empty)
Response.Write("<tr>");
else
Response.Write("<tr style=\"" + style + "\"");
%>
<td>
<%# Eval("QuoteID") %>
</td>
<td>
<%# Eval("DateDue", "{0:dd/MM/yyyy}") %>
</td>
<td>
<%# Eval("Company") %>
</td>
<td>
<%# Eval("Estimator") %>
</td>
<td>
<%# Eval("Attachments") %>
</td>
<td>
<%# Eval("Employee") %>
</td>
</tr>
</ItemTemplate>
编辑:
对不起,我没有说清楚这一点!问题是,它引发了一个错误:
Databinding methods such as Eval(), XPath(), and Bind() can only be used in the context of a databound control.
答案 0 :(得分:1)
请更改此
<%
string style = String.Empty;
....
%>
通过
<%#
string style = String.Empty;
....
%>
请注意,我添加了#
答案 1 :(得分:0)
哪个部分是int?我没看到int部分是如何应用的?如果对象真的是一个int,你总是可以把它作为(int)Eval(“Value”)转换为int,或者如果是一个字符串,你可以使用int.Parse或int.TryParse进行转换(如果它可能的话,它会更安全)该字段不是int)。
HTH。