帮助初级程序员使用Razor

本文关键字:Razor 程序员 帮助 | 更新日期: 2023-09-27 17:54:58

嗨,我有以下示例razor脚本>现在我需要扩展它,并在@foreach (Dnn.ReportResults().Rows中的DataRow行)之后添加if语句,并使用if语句检查查询样式值foo是否与名称为foo的列的值相同,如果这是正确的,则可以呈现一行

<table>
<thead>
@{var table = Dnn.ReportResults();}
<tr>
 @foreach (DataColumn col in table.Columns)
 {
 <th>@col.ColumnName</th>
 }
</tr>
</thead>
<tbody>
 @foreach (DataRow row in Dnn.ReportResults().Rows)
 {
 <tr>
 @foreach (var value in row.ItemArray)
 {
 <td>@value</td>
 }
</tr>
}
</tbody>
</table>

thanks for the help

帮助初级程序员使用Razor

<tbody>
 @foreach (DataRow row in Dnn.ReportResults().Rows)
 {
    if(Request.QueryString["foo"] == "bar")
    {
        <tr>
        @foreach (var value in row.ItemArray)
        {
            <td>@value</td>
        }
        </tr>
    }
}
</tbody>

我发现,如果你有一个剃刀语法错误,产生的YSD通常是非常有用的,特别是像太多的@s

    <table> 
    <thead> 
    @{var table = Dnn.ReportResults();}
<tr>
    @foreach (DataColumn col in table.Columns)
    {  <th>@col.ColumnName
        </th>  }
</tr>
</thead>
<tbody>
    @foreach (DataColumn col in table.columns)
    {
        if (col.ColumnNamn == Request.QueryString["foo"])
        {
    foreach (DataRow row in Dnn.ReportResults().Rows)
    {  <tr>
        @foreach (var value in row.ItemArray)
        {  <td>@value
            </td>  
        }
    </tr>
    }
        }
    }
</tbody>