在javascript中使用c#class对象

我想在javascript使用在c#类中创建的对象。 我知道我可以使用json库将我的服务器端对象转换为JSON对象,以便它可以在javascript使用。

我已经为此下载了Newtonsoft.Json库。 我有以下aspx.cs页面代码

 using Newtonsoft.Json; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { product p = new product(); p.ProductId = 1; p.productName = "t-shirt"; } public class product { public int ProductId { get; set; } public string productName { get; set; } } } 

对于aspx页面我正在使用以下代码来访问该p对象值。

     var jsobject = ; function myfunction (){ //work with object alert('Hi'); }   

当我尝试构建它时,它会生成以下exception

The name 'p' does not exist in the current context

我只想在我的javascript代码中使用p id和name。

我最初参考了这个答案

变量p的范围不正确。

 public partial class _Default : System.Web.UI.Page { public product p; protected void Page_Load(object sender, EventArgs e) { p = new product(); p.ProductId = 1; p.productName = "t-shirt"; } public class product { public int ProductId { get; set; } public string productName { get; set; } } } 

您无法在scriptlet中访问函数的局部变量来定义公共属性或数据成员。

 public product p {get; set;} protected void Page_Load(object sender, EventArgs e) { p = new product() p.ProductId = 1; p.productName = "t-shirt"; }