c# - 在 javascript 中使用 c# 类对象

标签 c# javascript asp.net json

我想使用在 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 页面,我使用以下 javascript 代码来访问该 p 对象值。

    <%@ Import Namespace="Newtonsoft.Json" %>

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
<script type="text/javascript">

var jsobject = <%= JsonConvert.SerializeObject(p) %>;

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

</script>
</asp:Content>

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

名称“p”在当前上下文中不存在

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

我最初引用了 this answer

最佳答案

您的变量 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; }
    }
}

关于c# - 在 javascript 中使用 c# 类对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16685226/

相关文章:

asp.net - 按钮属性:- commandName and CommandArguments

c# - 如何从代码隐藏加密在 web.config 中编写的连接字符串?

ASP.NET MVC3 图表 Web 帮助程序在 IIS7 上托管时不起作用

c# - 如何在单个游戏对象上添加多个音频源?

c# - 同时做同样的多项任务

c# - 网络部署 deploymentskiprule

javascript - 使用 React 进行多个 AJAX 请求

c# - 找不到指定的模块 0x8007007E

c# - 从 Controller 中的 asp.net 中的选择标记中检索值以进行查看

javascript - AngularJS 1.5组件模板完全渲染后触发功能