0

我的 HTML / razor 代码如下所示:

@model Content.Grid
<tr id="row_@(Model.Row)" 
    data-pk="@(Model.PartitionKey)"
    data-rk="@(Model.RowKey)">
   <td>
@(Model.RowKey.Substring(0, 2).TrimStart('0')).@(Model.RowKey.Substring(2, 2).TrimStart('0').PadLeft(1, '0'))
  </td>
   <td>
@(Model.RowKey.Substring(0, 2).TrimStart('0')).@(Model.RowKey.Substring(2, 2).TrimStart('0').PadLeft(1, '0'))
  </td>
</tr>

这只是一个示例,但在我的应用程序中,我的列会重复几次相同的计算。有没有一种方法可以在代码开头执行此操作,然后只使用每列中的值。像预先计算这个然后将 Obj 局部变量放在 my ?

@{
    Obj = Model.RowKey.Substring(0, 2).TrimStart('0'))
}

我试过这个,但似乎无法让它工作。

请注意。我无法在我的应用程序中更改模型。计算必须在剃刀文件中。

4

1 回答 1

1

我看不出有什么理由不这样做。试试这个:

@model Content.Grid

@{
    var result = string.Format("{0}.{1}", Model.RowKey.Substring(0, 2).TrimStart('0'), Model.RowKey.Substring(2, 2).TrimStart('0').PadLeft(1, '0'));
}

<tr id="row_@(Model.Row)" 
    data-pk="@(Model.PartitionKey)"
    data-rk="@(Model.RowKey)">
    <td>
        @result
    </td>
    <td>
        @result
    </td>
</tr>
于 2012-07-05T04:35:03.257 回答