1

我有一个朋友写的 CSHTML 脚本,我正在做一些更改,我有一个 SQL 查询作为变量,如果这个 SQL 查询返回 NULL,那么我想显示单独的 HTML,而不是返回结果。我已经复制了下面代码的相关部分。

@{
var db = Database.Open("3.2.0");  //db holds Database to Open
var sql = "select ticketid, Title, description, category, updatedon, updatedby, severity            from dbo._ServiceStatus ";  //Sql To Pass through 
}
@if (@sql == null) {
        <h3>There are no issues at the moment</h3>
        }
        else{
    foreach(var row in db.Query(sql)) //for each row returned in the SQL Query
    {
        <div class='box_lrg'><div class='box_top'></div><div class='box_middle'>
            <h2 class="title">@row["Title"]</h2> 
            <p class="ticket">TicketID: @row["TicketId"]</p> 
            <div class="clear"></div>
            <p class="description">@row["Description"]</p>
            <p class="updatedon"><em>Updated On:</em><br />@row["UpdatedOn"]</p>
            <p class="updatedby"><em>Updated By:</em><br />@row["UpdatedBy"]</p>
            <p class="severity"><em>Severity:</em><br />@row["Severity"]</p>  
            </div><div class='box_bottom'><p class="category">Category:    @row["Category"]</p>    
            </div></div>                                                                                                                      
    }
        }

一切运行良好,除了当该表为空时没有显示“没有问题”的 h3 标签。

欢迎任何想法

4

1 回答 1

1

发生这种情况是因为 sql 变量不会为空,但它将是一个空列表,它不会包含任何项目。我希望这能帮到您。

于 2013-06-05T12:42:46.477 回答