在javascript中使用c#类对象
本文关键字:对象 javascript | 更新日期: 2023-09-27 18:14:51
我想使用一个在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>
当我尝试构建这个时,它会生成以下异常
The name 'p' does not exist in the current context
我只是想在我的javascript代码中使用p id和名称。
我从这个答案中得到了最初的参考
变量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";
}