在C#.net Razor Page中,前台JavaScript访问后台C#数组,可以通过以下几种方式实现:
1.在后台C#中,将数组转换为JSON字符串,并将其传递给前台JavaScript。
后台C#代码:
public class IndexModel : PageModel
{
public void OnGet()
{
string[] array = { "apple", "banana", "cherry" };
ArrayJson = JsonSerializer.Serialize(array);
}
public string ArrayJson { get; private set; }
}
前台Razor Page代码:
@page
@model IndexModel
@{
ViewData["Title"] = "Home page";
}
<script>
var fruits = @Html.Raw(Model.ArrayJson);
console.log(fruits); // 输出: ["apple", "banana", "cherry"]
</script>
2.使用JavaScript函数通过Ajax异步获取后台数组数据。
后台C#代码:
public class ArrayApiModel : PageModel
{
public JsonResult OnGet()
{
string[] array = { "apple", "banana", "cherry" };
return new JsonResult(array);
}
}
前台JavaScript代码:
<script>
$.getJSON('/ArrayApi', function (data) {
var fruits = data;
console.log(fruits); // 输出: ["apple", "banana", "cherry"]
});
</script>
以上两种方式均可以实现前台JavaScript访问后台C#数组。第一种方式适合数组内容不大,且不需要频繁更新的情况。第二种方式适合需要从服务器获取最新数组数据的场景,可以通过Ajax实现前后端的分离和交互。