You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在查询退市产品时为前端表格添加DateRetired列?

解决方案:动态显示退市日期列

当然可行,但你当前的代码存在HTML结构错误,会导致表格显示混乱,调整写法就能实现需求:

现有代码的问题

你在产品循环里嵌套了<thead>和表头行,这会让每遇到一个退市产品就重复生成表头,同时破坏表格的结构规范(<thead>不能放在<tbody>的行内),还会造成表格列数不一致。

修改后的代码示例

@if (foundProducts.Count == 0)
{
    <p><em>Loading...</em></p>
}
else
{
    <table class="table table-striped">
        <thead>     
            <tr>  
                <th scope="col">Name</th>
                <th scope="col">Description</th>
                <th scope="col">Additional Information</th>
                <th scope="col">Price</th>
                <!-- 根据复选框状态决定是否显示退市日期表头 -->
                @if (isShowRetired)
                {
                    <th scope="col">退市日期</th>
                }
            </tr>
        </thead>
        <tbody>
            @foreach (var product in foundProducts)
            {
                <tr>
                    <td>@product.SystemName</td>
                    <td>@product.SystemDescription</td>
                    <td>@product.AdditionalInformation</td>
                    <td>@product.Price</td>
                    <!-- 同步根据复选框状态添加对应列 -->
                    @if (isShowRetired)
                    {
                        <td>@(product.DateRetired?.ToString("yyyy-MM-dd") ?? "未退市")</td>
                    }
                </tr>
            }
        </tbody>       
    </table>
}

关键说明

  1. 统一控制列显示:用isShowRetired布尔变量对应复选框的勾选状态(你需要在后端逻辑中传递这个变量,比如通过ViewModel),表头和每行的列保持同步,避免结构混乱。
  2. 修正循环变量错误:原代码循环变量是system但内部用product,示例中已统一为product。
  3. 友好显示空值:用??运算符处理未退市产品的DateRetired空值,可根据需求改为空字符串或其他提示文本。

内容的提问来源于stack exchange,提问作者Lisa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 19:02:11