日期:2014-05-18  浏览次数:20450 次

关于gridview 里面动态绑定数据列的问题????????????????在线等
<asp:Label ID="lbl1" Runat="server" ><%#DataBinder.Eval(Container.DataItem,'<%=jeli %>')%></asp:Label>

我里面由一个<%=jeli %>这个jeli是在后台做得判断好取得数据列的。
可我这样写了之后报错说: 编译器错误信息: CS1010: 常数中有换行符

我使用vs2003写的 label里面如果我写Text="AA"则什么都不显示!
我该怎么写啊?在线等!

------解决方案--------------------
不是很清楚jeli是什么东东...你最好做个方法返回之
试试这个
<%#DataBinder.Eval(Container.DataItem,GetJeli())%>

然后后台代码:
public string GetJeli()
{
//do something
return jeli.ToString();
}
------解决方案--------------------
这里应该是你数据容器内的一个字段值,而不是你后台自己绑定的一个变量

如果打算绑定自己的变量

<asp:Label ID="lbl1" Runat="server" Text= '<%# jeli %>' > </asp:Label> 

后台声明的这个变量必须是protected或者public的,而且在调用前需要Label1.DataBind()或者this.DataBind()
------解决方案--------------------
数据绑定和对绑定以后数据的处理不能像你这样的方式处理;
你可以在前台页面就进行绑定,然后在ItemDataBound事件里面进行你业务数据的处理
------解决方案--------------------
<%# DataBinder.Eval(Container.DataItem, "jeli ")%>
应该是这样子吧
或者 '<%# Eval("jeli") %>'
------解决方案--------------------
<%# DataBinder.Eval(Container.DataItem, "jeli ")%>
应该是这样子吧
------解决方案--------------------
<asp:Label ID="lbl1" Runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "jeli ")%> '></asp:Label>
------解决方案--------------------
你已经在<%# %>里面了,就不能用<% %>了,因为你已经在执行C#代码逻辑了。如果jeli是一个string,同时是一个需要解释执行的C#语句,那么你需要通过别的方法动态执行这个C#语句,例如调用CodeDom。