在repeater里有这样的绑定
<td><%#DataBinder.Eval(Container.DataItem, "PaperName")%></td>
<td><%#DataBinder.Eval(Container.DataItem, "userid")%></td>
<td><%#DataBinder.Eval(Container.DataItem, "CreateType")%></td>我想根据CreateType所获得的不同的值显示不同的内容,比如CreateType为0显示xxxx,CreateType为1显示yyyyy
<td><%#DataBinder.Eval(Container.DataItem, "PaperName")%></td>
<td><%#DataBinder.Eval(Container.DataItem, "userid")%></td>
<td><%#DataBinder.Eval(Container.DataItem, "CreateType")%></td>我想根据CreateType所获得的不同的值显示不同的内容,比如CreateType为0显示xxxx,CreateType为1显示yyyyy
if DataBinder.Eval(Container.DataItem, "PaperName").ToString().Length > 50 ? DataBinder.Eval(Container.DataItem, "PaperName").ToString().Substring(0,50) : DataBinder.Eval(Container.DataItem, "PaperName").ToString()
DataBinder.Eval(Container.DataItem, "PaperName").ToString().Substring(0,50) + "..." :
<td><%#DataBinder.Eval(Container.DataItem, "userid")%></td>
<td>
<%
switch (DataBinder.Eval(Container.DataItem, "CreateType"))
{
case 0:
Response.write("xxxxx");
break;
}
%></td>
代码修改成了这个样子,但是报错:
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。
编译器错误信息: CS0246: 找不到类型或命名空间名称“Container”(是否缺少 using 指令或程序集引用?)
我觉得你还是写在绑定后处理的事件里比较好:
DataItemBound这个事件里.如下:
if (e.Items.Cells[1].Text.Trim().Equal("0"))
{
e.Items.Cells[1].Text = "xxxx";
}
if (e.Items.Cells[1].Text.Trim().Equal("1"))
{
e.Items.Cells[1].Text = "yyyy";
}
Cells[1]指的是列,如果是第一列为0,如果是第二列是为1,以此类推.