0

次のような HTML / カミソリ コードがあります。

@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 に答える