javascript - 使用 javascript 从 ASPX 代码隐藏页面访问类

标签 javascript c# asp.net class code-behind

我试图从 javascript 中的代码后面访问一个类,但我收到错误消息,说它在此上下文中不存在。以前这种方式对我有用。

这是我的代码: 隐藏代码:

public class ReviewData
{
    public int NumberOfReviews { get; set; }
    public double AvgReviewScore { get; set; }
}

此变量已进一步填充

这是我的 JavaScript:

<script type="text/javascript">
   var reviewData = "<%=ReviewData%>"
</script>

最佳答案

您必须使用 JSON.Net 将您的类序列化为 JSON 字符串。在类中,创建一个名为“Serialize()”的方法,该方法返回一个字符串并序列化自身。

在 Javascript 中,您可以编写如下内容: var reviewData = "@ReviewData.Serialize()"

从那里,您可能必须使用 Javascript 将其从字符串解析回对象...但是您无法将实际的 C# 类传递给 Javascript。你能做的最好的事情就是 JSON。

此外,除非您的代码隐藏中有 ReviewData 的对象引用,否则这将不起作用。

关于javascript - 使用 javascript 从 ASPX 代码隐藏页面访问类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49302491/

相关文章:

javascript - 在 onMouseover 和 onMouseout 上显示/隐藏 div。

JavaScript GTM

c# - 进程无法访问该文件,因为它正被另一个进程使用

asp.net - 在某些情况下.NET找不到我在经典asp中创建的cookie

javascript - 无法获取未定义或空引用的属性 X

javascript - CSS 在 JS 库添加的元素上保持原始样式

Javascript 数组 - 如何选择一个随机的十六进制值?

c# - 执行脚本后 PowerShell 控制台不会关闭

c# - 无法通过命名管道发送 protobuf 流并取回结果

jquery - '$' 是未定义的 JavaScript 错误