【问题标题】:Condition in ASP Repeater ControlASP 中继器控制中的条件
【发布时间】:2015-05-14 08:11:44
【问题描述】:

这是我的情况,我想检查我的 DataTable 是否包含特定列的值,如果是,我想显示图像。

这是我的代码,

<%if (DataBinder.Eval(Container.DataItem, "VideoID") != "") 
{%>
    <img src="<%#ConfigurationManager.AppSettings["BaseURLImages"] %>VideoIcon.png" class="RelatedNewsIcon" />
<%}%>

它不起作用,请纠正我的错误!

提前致谢, 拉杰什。

【问题讨论】:

  • 你可以在服务器端做,然后绑定到转发器
  • 我该怎么做?我只是将表绑定到中继器。就是这样。
  • 你可以在c#中检查一个列是否存在然后绑定它
  • 它不起作用对任何人都没有帮助..到底发生了什么?什么不工作?有什么错误吗?

标签: asp.net asprepeater


【解决方案1】:

在c#中使用这个条件检查它

 if (table.Columns.Contains("columnName"))
        {

foreach(DataRow row in table.Rows )
{
if(row["column"]!=null || row["column"]!="")
{
// disable or enable image as you desire
} 
 }
         }

然后将其绑定到中继器

【讨论】:

  • 我不想绑定Repeater中的值。我只是想检查该值是否可用。基于它想要显示的图像。
  • 然后你可以使用foreach检查每一行并将其插入新的DataTable,然后绑定到repeater
  • kumar,明白我不想将任何值绑定到中继器。我只是想检查价值是否存在。基于它,我将改变可见性。就是这样。
  • ok 然后根据条件禁用服务器端的图片标签
【解决方案2】:

这是我的答案,

<asp:Image ID="RelatedNewsIcon" runat="server" ImageUrl='<%# System.Configuration.ConfigurationManager.AppSettings["BaseURLImages"] + "VideoIcon.png" %>' CssClass="RelatedNewsIcon" Visible='<%# Eval("VideoID").ToString() != "" %>'/>

这很好用。

谢谢。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多