如何在html文件中执行C#.net代码?

问题描述:

这可能听起来很愚蠢,但我需要从我的html文件中执行C#代码。例如我只想执行此操作如何在html文件中执行C#.net代码?

System.Diagnostics.Process.Start(@"D:\Movies\HurtLocker.avi"); 

没有任何服务器端代码。

我无法创建aspx页面,因为它需要在IIS中托管浏览器中打开一个aspx页面。

+0

我认为你的问题是真的,“我如何创建一个网页,让观众观看视频?” – 2011-01-12 11:56:51

+0

@David它只是一个例子,你可以告诉我只是想在我的html文件上使用.net库。 – BreakHead 2011-01-12 12:00:31

+0

如果可能的话,是什么阻止某人尝试启动`format.exe`进程? – 2014-04-02 17:58:31

你想在哪里运行c#代码?

如果你希望它在正被用来渲染HTML然后我会说是基本没有可能在浏览器中运行。有些东西,大概是html页面中的javascript代码,将不得不以某种方式实例化.net clr并将c#代码传递给它以执行。 clr确实有一个基于COM的hosting interface,它允许实例化,但即使你可以从javascript调用它,我认为任何明智的浏览器安全设置都会阻止它。

如果你想在C#中的服务器提供的HTML页面,那么你应该使用asp.net上运行。

编辑

好吧,你想在浏览器中运行它。我不知道在浏览器进程中托管一个clr的任何示例,对不起。

您可以创建在使用像var obj=new ActiveXObject("<comclassname>"); JS的ActiveX/COM对象,你可能能够通过实例对this page列出的COM类(也许CLRRuntimeHost)之一来创建一个CLR的方式。然后你可以将你的C#代码传递给你的clr执行。更多信息herehere。不过,我真的不确定这是否会奏效。我从来没有使用托管API,我只知道它存在!

好像是一个有趣的项目,如果你很好奇,但是在真实环境中部署它可能会带来很多问题。祝你好运!

您不能从客户端页面执行服务器端代码。如果您的页面是aspx,则可以使用web服务或单击javascript中的serverside按钮。

编辑:如果你要嵌入视频播放器,请check this link。你不需要服务器端代码。你将可以用javascript来完成。

你可以在你的ASP文件中创建一个代码块,但如果这是简单的HTML文件,这是不可能的。

至少你会有一些应用程序将读取页面的内容编译并执行。

ASP code block

正如Pabuc提到HTML在客户机上,你不能执行服务器端代码。如果你使用Silverlight,你可以执行代码客户端,但是客户端需要安装Silverlight,并且它不再是严格的HTML。

Silverlight可用于使用C#播放电影客户端。

不是C#,但在具有Gestalt的浏览器中.NET动态语言如何? http://gestalt.codeplex.com/

具有在客户端C#的唯一方法是如@kenny提到Silverlight应用程序[更新]或任何其他浏览器插件。

我试图找到一段时间的软件。我有需要的软件,很难用传统的Web编程来完成。

现在我已经做了简单的演示,如何使用C#或VB.NET创建HTML5在线应用程序。 它是执行.NET应用程序时将C#翻译为Javascript的Scot库。它还支持在C#代码中执行的浏览器上的事件。

要原题:

在HTML页面中,您将需要后添加一行:

<script src="myclass.cs"> </script>` 

连接.NET类:

using Scot; 
//.. 
public myclass:Document 
{  
    protected override OnConnect()  
    {   
     Elements["mybutton"].OnClick+=new JsInputEventHandler(click); 
     //your initialization  //....  
    }  
    private void click(object sender, JsInputEventArgs e)  
    {   
     Window.Alert("Click()");  
    } 
} 

演示非常简单,但实际上我需要这个库用于另一个项目。 这将是很高兴有任何反馈。