C# 如何在razor之外使用razor声明的变量?

C# 如何在razor之外使用razor声明的变量?,c#,html,model-view-controller,razor,C#,Html,Model View Controller,Razor,我有一个展示产品说明和产品价格的foreach。我希望能够将所有价格相加,并将其显示在数据单元中。我该怎么做 <table class="table table-striped"> <tr> <th>Description</th> <th>Price</th> </tr> @foreach (v

我有一个展示产品说明和产品价格的foreach。我希望能够将所有价格相加,并将其显示在数据单元中。我该怎么做

<table class="table table-striped">
        <tr>
            <th>Description</th>
            <th>Price</th>
        </tr>

        @foreach (var product in Model)
        {
            <tr>
                <td>@product.Description</td>
                <td>@product.Price</td>
            </tr>
        }

        @foreach (var product in Model)
        {
            var sum = product.Price++;
        }

        
            <tr>
                <td colspan="2">Total Price:   </td>
            </tr>
      

    </table>

描述
价格
@foreach(模型中的var乘积)
{
@产品说明
@产品价格
}
@foreach(模型中的var乘积)
{
var总和=产品价格++;
}
总价:

我希望能够在foreach外部显示sum的值

您可以在代码块内部声明一个变量,并在foreach中使用它,如下所示:

<table class="table table-striped">
  <tr>
    <th>Description</th>
    <th>Price</th>
  </tr>

@foreach (var product in Model)
{
  <tr>
    <td>@product.Description</td>
    <td>@product.Price</td>
  </tr>
}

@{
   var sum = 0;
   foreach (var product in Model)
   {
      sum += product.Price;
   }
}

    
  <tr>
    <td colspan="2">Total Price: @sum</td>
  </tr>
  

</table>

您可以在代码块内声明一个变量,并在foreach中使用它,如下所示:

<table class="table table-striped">
  <tr>
    <th>Description</th>
    <th>Price</th>
  </tr>

@foreach (var product in Model)
{
  <tr>
    <td>@product.Description</td>
    <td>@product.Price</td>
  </tr>
}

@{
   var sum = 0;
   foreach (var product in Model)
   {
      sum += product.Price;
   }
}

    
  <tr>
    <td colspan="2">Total Price: @sum</td>
  </tr>
  

</table>

在循环之前声明它在循环之前声明它