.Net razor - 在 window.onload 中使用 @Model.Variable 名称时 - 抛出引用错误

.Net razor - While using @Model.Variable name in window.onload - throws reference error

我正在使用 ASP.NET Core with Razor。 我有一个页面 Education.cshtmlEducation.cshtml.cs.

Education.cshtml.cs OnGet() 处理程序中,我正在为变量赋值。在 .cshtml 文件中,我试图在 window.onload 期间使用 @Model.variable 访问变量。在 window.onLoad JavaScript 中使用它,因为我必须在页面加载后使用此变量作为参数调用 JavaScript 函数。

但是我收到一个参考错误:

Uncaught ReferenceError: "variablevalue" is not defined at window.onload

如何解决下面是我的代码。

在Education.cshtml.cs中:

[BindProperty]
public string degree { get; set; }

public async Task<IActionResult> OnGet()
{
    degree = "XYZ";
}

Education.cshtml中:

@if (Model.EducationDetails?.successful == true)
{
    <div class="alert alert-success" role="alert">
        <h4>Deatils</h4>
        <hr>
        <strong>@Model.Education.StudentNumber</strong>
     </div>
    <script type="text/javascript">
        window.onload = function () {
         console.log('Model degree value -' + @Model.degree );
        // callJavascriptFunction(@Model.degree); // Need to pass this @Model.degree to JS function
            };
    </script>
}

因为你的属性是一个字符串使用双引号或单引号:

console.log('Model degree value -' + '@Model.degree');

console.log('Model degree value -' + "@Model.degree");