帮助Razor成为初学程序员

时间:2011-05-06 07:23:55

标签: c# .net razor

您好我有以下示例剃刀脚本>现在我需要扩展它并在@foreach(Dnn.ReportResults()。Rows中的DataRow行)之后添加一个if语句,使用if语句来检查querystytring值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>

感谢您的帮助

2 个答案:

答案 0 :(得分:3)

<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这样的东西

答案 1 :(得分:0)

    <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>