在Javascript中访问c#函数

本文关键字:函数 访问 Javascript | 更新日期: 2023-09-27 18:05:31

我认为在我将D3视觉效果导入Spotfire的项目中有一些东西我不理解。

我目前已经通过使用Awesomium的嵌入式浏览器在Spotfire中实现了D3可视化,并使用这些行:

        string myString = System.IO.File.ReadAllText(@"C:'Users'leear'Desktop'SDK'SDK'Examples'Extensions'D3Visualizations'Gauge.html");
        webView.LoadHTML(myString);

Gauge.html的HTML包含javascript代码,它运行创建可视化所需的所有东西。

然而,我希望能够访问/运行c#函数和变量内的Gauge.html文件。我的设想是这样的:

for (var value in <%=Spotfire.getCurrentColumn()%>) {gauge.redraw(value)}

我的项目目前的结构只是c#代码读取和写入所有的HTML从一个文件到Awesomium的嵌入式浏览器。

我该怎么做呢?aspx在哪里?NET适合这个,如果有的话?

谢谢

在Javascript中访问c#函数

你不能;javascript是客户端,而ASP。. NET是服务器端。ASP。NET基本上生成HTML和javascript,一旦渲染完成,页面就被处理,客户端接管,它对ASP.NET一无所知。这对于ASP来说是完全没问题的。NET吐出JS,因为它正在渲染它,但是JS的客户端处理,也就是你试图调用服务器端方法的地方,对ASP.NET一无所知。您必须将逻辑移动到客户端,或者让客户端使用javascript与服务器通信。

"你不能;javascript是客户端,而ASP。. NET是服务器端。ASP。NET基本上生成HTML和javascript"....

这绝对正确。客户端和服务器是两个不同的世界……如果需要代码重用,您有几个选择。看看c#到javascript的编译器,确保你的c#函数不依赖于任何与服务器或其运行时相关的东西。

否则,考虑将您的服务器功能公开为web服务,该服务接受某种形式的输入,并以JSON形式返回输出以供客户端使用。