asp.net,关于页面中使用Listview ,其中 <%# DataBinder.Eval(Container.DataItem,"****") %>
<%#DataBinder.Eval(Container.DataItem,"****")%>我需要放在FOR循环里,把“******”换成一个变量值,怎么能够实现呢?使...
<%# DataBinder.Eval(Container.DataItem,"****") %> 我需要放在FOR循环里,把“******”换成一个变量值,怎么能够实现呢?使用<%=%>或者<%%>都不能实现字段绑定!怎么才能结合变量呢,主要是因为表会比较多,字段名不能固定,否则逐个写太不实际了。
展开
展开全部
<%#Eval('字段名') %> 这样绑不是更省力? 表会比较多?是字段比较多吧。不过好像没办法解决,因为你从数据库里查出来的数据 控件又不知道你需要显示哪个,所以还是逐个绑吧,一个页面能绑多少字段?太多了用户体验肯定不好。 建议换种思路,比如绑定少一点的字段,点击进去显示具体信息,把所有字段都显示出来
追问
是报表比较多,前台点选后筛出不同的表,想说后台整理datatable绑定给前台,要遍历DATATABLE的colsname出来,所以需要循环dt.colsname出来哦。
追答
原来不是固定的,那完全可以在数据库中判断取得哪些列名与数据放在DT里绑出来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你能这么用吗?
前台
<asp:ListView ID="ListView1" runat="server" OnItemDataBound="ListView1_ItemDataBound">
<ItemTemplate>
中间就是你绑定的代码
比方说你这儿是一个<li><%# DataBinder.Eval(Container.DataItem,"****") %></li>
你现在可以把<li></li>那行语句用
<asp:Literal ID="Literal1" runat="server"></asp:Literal>这个代替
</ItemTemplate>
</asp:ListView>
后台
protected void ListView1_ItemDataBound(object sender, ListViewItemEventArgs e)
{
if (e.Item.ItemType == ListViewItemType.DataItem)
{
Literal Li = e.Item.FindControl("Literal1") as Literal;//找到
Listview 里面ID叫Literal1的控件
for (int i = 0; i < length; i++)
{
Li.text="<li></li>";//循环你要做的
}
}
}
手敲的,可能有点不对,没测试
前台
<asp:ListView ID="ListView1" runat="server" OnItemDataBound="ListView1_ItemDataBound">
<ItemTemplate>
中间就是你绑定的代码
比方说你这儿是一个<li><%# DataBinder.Eval(Container.DataItem,"****") %></li>
你现在可以把<li></li>那行语句用
<asp:Literal ID="Literal1" runat="server"></asp:Literal>这个代替
</ItemTemplate>
</asp:ListView>
后台
protected void ListView1_ItemDataBound(object sender, ListViewItemEventArgs e)
{
if (e.Item.ItemType == ListViewItemType.DataItem)
{
Literal Li = e.Item.FindControl("Literal1") as Literal;//找到
Listview 里面ID叫Literal1的控件
for (int i = 0; i < length; i++)
{
Li.text="<li></li>";//循环你要做的
}
}
}
手敲的,可能有点不对,没测试
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询