我正在寻找一种自动化的方法来创建一个简单的C#包装器,用于现有的JavaScript库。我想使用服务器上的C#类创建JavaScript字符串,然后将JavaScript发送到客户端。
例如:我正在使用KendoUI JavaScript库创建图表。我正在服务器端创建渲染图表的JavaScript,因为一个页面可以根据用户选择的配置无限地渲染许多图表。
服务器端生成的JavaScript字符串如下(为了示例而大大简化):
我需要的是一种转换/生成工具,可以自动从我使用的JavaScript库源代码创建一个简单的C#包装类。我很清楚Telerik已经为ASP.NET制作了一个版本的图表,其中包括自定义的服务器端包装器,但这不是我要找的,因为我只是以KendoUI为例。
在Chrome网页开发者工具控制台中,我可以检查创建的KendoUI图表并查看其所有属性:
需要的工具应该能够从上面截图中公开的属性(在本例中,我要配置的属性组是“选项”对象的子项)中创建一个简单的C#类。
以下是生成的C#类的示例(仅供参考):
这将允许我通过在C#中创建类的实例并序列化结果来创建我的图表JavaScript。我正在寻找的东西应该能够根据任何javascript库的源代码(例如:jQuery,jQuery UI等)创建这些简单的C#类。
我猜已经有现有的工具可以做到这一点,我只是不知道它叫什么。我希望有人能指点我正确的方向。
例如:我正在使用KendoUI JavaScript库创建图表。我正在服务器端创建渲染图表的JavaScript,因为一个页面可以根据用户选择的配置无限地渲染许多图表。
服务器端生成的JavaScript字符串如下(为了示例而大大简化):
function createChart() {
$("#chart").kendoChart({
title: {
text: "Chart Title",
},
series: [{
field: "Cost"
}],
categoryAxis: {
field: "StartDate",
}
});
}
现在我的C#代码只是构建一个字符串来创建JavaScript字符串(为了简化示例而大大简化):
private string CreateChartJS(string ChartTitle, string SeriesField, string CategoryField)
{
return "function createChart() { $(\"#chart\").kendoChart({ title: { text: \""+ChartTitle+"\", }, series: [{ field: \""+SeriesField+"\" }], categoryAxis: { field: \""+CategoryField+"\", } }); } ";
}
我需要的是一种转换/生成工具,可以自动从我使用的JavaScript库源代码创建一个简单的C#包装类。我很清楚Telerik已经为ASP.NET制作了一个版本的图表,其中包括自定义的服务器端包装器,但这不是我要找的,因为我只是以KendoUI为例。
在Chrome网页开发者工具控制台中,我可以检查创建的KendoUI图表并查看其所有属性:
需要的工具应该能够从上面截图中公开的属性(在本例中,我要配置的属性组是“选项”对象的子项)中创建一个简单的C#类。
以下是生成的C#类的示例(仅供参考):
public class KendoChartWrapper
{
public class options
{
public bool autoBind { get; set; }
public class axisDefaults { }
public class categoryAxies { }
public class chartArea { }
public class dataSource { }
public class legend { }
public string name { get; set; }
public class navigator { }
public class plotArea { }
public string prefix { get; set; }
public string renderAs { get; set; }
}
}
这将允许我通过在C#中创建类的实例并序列化结果来创建我的图表JavaScript。我正在寻找的东西应该能够根据任何javascript库的源代码(例如:jQuery,jQuery UI等)创建这些简单的C#类。
我猜已经有现有的工具可以做到这一点,我只是不知道它叫什么。我希望有人能指点我正确的方向。