0

我试图在我的 ASP.Net 应用程序中的 GridView 中显示一个小进度条。我正在尝试使用 ItemTemplate 来做到这一点。

                            <ItemTemplate>
                                <table width="100%">
                                    <tr>
                                        <td style="width: 75%; background-color: red"></td>
                                        <td style="width: 25%; background-color: green" ></td>
                                    </tr>
                                </table>
                            </ItemTemplate>

我想根据行内某些值的计算来设置宽度百分比。

可以用 Eval 以某种方式完成吗?还是我需要在后面做一些代码?

4

1 回答 1

1

您可以尝试以下方法(示例计算如下):

<td style='<%# string.Format("width: {0}%; background-color: red", (int)Eval("Width") / 100) %>'></td>

但是为了便于阅读,您最好将整个字符串构造移到后面的代码中,然后在页面上调用相应的方法。

更新。至于代码背后的方法,这是如何完成的。定义一个将进行适当计算并返回字符串的方法:

protected string GetCellStyle(int width)
{
    return string.Format("width: {0}%; background-color: red", width / 100);
}

并使用相同的数据绑定语法调用它:

<td style='<%# GetCellStyle((int)Eval("Width")) %>'></td>
于 2013-08-13T08:43:10.360 回答