【问题标题】:Unable to access variable in razor page无法访问剃刀页面中的变量
【发布时间】:2021-11-28 16:30:29
【问题描述】:

我的项目中有以下剃须刀页面:

@using XditProj.Models
@model List<XditProj.Models.UserViewModel>
  <link rel="stylesheet" href="../../wwwroot/css/askStyles.css">
  <link rel="stylesheet" href="../../wwwroot/css/bootstrap.min.css">
<link rel="stylesheet" href="../../wwwroot/css/bootstrap.min.css">

@foreach (UserViewModel user in @Model)
{
  @{
    var currentLocalModel = user.moneyStats;
    var one = "weekly price:";
    string two = "saved from last week:";
    string three = "yearly Spending:";
  };

  <div class="row">
    <div class="col-sm-3">
      <div class="well red">
        <p>@user.UserName </p>
      </div>
    </div>
    <div class="col-sm-9">
      <div class="well neutral">
        <p> @user.status</p>
        <div class="bottom-left-text">
          <span class="label label-default">@one  </span>
          <span class="label label-primary">Total KWH: 200</span>
          <span class="label label-success">Labels</span>
        </div>
      </div>
    </div>
  </div>
}

我的问题是关于&lt;span class="label label-default"&gt;@one &lt;/span&gt; 行,我试图访问我刚刚声明的变量one。但是我的 ide 吓坏了,找不到那个名字的东西。

为什么我无法访问变量?

【问题讨论】:

    标签: c# razor-pages


    【解决方案1】:

    在 C# 中,花括号 ({}) 为变量创建了一个新范围。在“内部”作用域中声明的变量在“外部”作用域中是不可访问的。我认为不需要在此处声明新范围,因此您可以将其删除:

    @foreach (UserViewModel user in @Model)
    {
      var currentLocalModel = user.moneyStats;
      var one = "weekly price:";
      string two = "saved from last week:";
      string three = "yearly Spending:";
    
      <div class="row">
      ...
    

    也可以foreach 之外声明onetwothree,因为它们的值不会改变,但不必让脚本工作,

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-24
      • 2022-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-19
      • 2020-05-22
      • 2020-07-13
      相关资源
      最近更新 更多