1

你好,我有产品清单,这是我的 html

 <telerik:RadListBox ID="RadListBox1" runat="server" DataSourceID="LinqDataSourceCategories"       Height="200px" Width="250px" CssClass="ui-droppable" >
                <EmptyMessageTemplate>
                No records to display.
                </EmptyMessageTemplate>
                <ItemTemplate >

                <div  class="ui-draggable ui-state-default" data-shortid="<%#Eval("ID")%>">
                <em>Active : </em><span><%# Eval("LoadProduct") %></span><br />
                <em>ProductId: </em><span><%# Eval("ProductId") %></span><br />
                 </div>
                </ItemTemplate>

         </telerik:RadListBox>

我有 Active,也就是说客户端中的 LoadProduct 是真还是假,它看起来像这样

<em>Acrive : </em>
<span>False</span>
<br>
<em>ProductId: </em>
<span>101-01-056-02</span>
<br>
<em>ShortID: </em>
<span class="ShortID" data-shortid="0">0</span>
<br>

我想用 img 替换文本,我需要检查是否 <%# Eval("LoadProduct") %> ==true put img scr=/green.png/ else img scr=/red.png/ 那客户看起来像这个

    <em>Acrive : </em>
        <span><img src='green.jpg'/></span>

 <br>
        <em>ProductId: </em>
        <span>101-01-056-02</span>
        <br>
        <em>ShortID: </em>
        <span class="ShortID" data-shortid="0">0</span>
        <br>

母猪怎么可能做到?要将 if 语句添加到 HTML,

或捕捉构建所有元素的事件并检查 LoadProduct==true 并将 html 附加到项目?

4

4 回答 4

2

尝试这个

<em>Active : </em><span><%# Convert.ToBoolean(Eval("LoadProduct")) ? "<img src='green.jpg'/>" : "<img src='red.jpg'/>"%></span><br />
于 2013-08-06T10:39:51.087 回答
2

想想看,我真的不喜欢前端后端条件的想法。代码隐藏是一回事,前端是另一回事——如果不是不可避免的话,混合它不是一个好主意。最纯粹的方法是在代码隐藏中设置变量(或函数,在你的情况下),并在前端显示它,例如:

Code behind:

protected string GreenOrRed(bool isLoadProduct)
{
    return isLoadProduct ? "green" : "red";
}

(函数或变量必须至少受到保护才能在 aspx 页面中访问,因为 aspx 页面是 aspx.cs 基类的派生类)

front-end:

<span><img src='<%# GreenOrRed((bool)Eval("LoadProduct")) %>.jpg'/></span>

之后记得添加

this.DataBind();

在你的Page_Load()功能中。

让后台代码决定,让前端只显示结果。

于 2013-08-06T10:47:44.097 回答
1
<% 
    if((bool)Eval("LoadProduct") == true)
    {
        Response.Write("src='green.jpg'");
    }
    else Response.Write("src='red.jpg'");
%>
于 2013-08-06T10:40:06.740 回答
1

尝试这个

 <img src='<%# (bool)Eval("LoadProduct") ? "green.jpg" : "red.jpg" %>'/>
于 2013-08-06T10:51:36.850 回答