Javascript:调用C#函数
首先,我搜索了很多,所有的主题似乎都是C#:调用或调用JavaScript函数,但我想做的恰恰相反,我想在C#和JavaScript上创建一个函数,我想JavaScript函数调用C#函数并检索它的数据,这似乎是一个好问题。 问题是我对网络一无所知,也不知道它是如何工作的,但我尝试了一个示例: 创建了一个类:Javascript:调用C#函数,c#,javascript,.net,connection,browser,C#,Javascript,.net,Connection,Browser,首先,我搜索了很多,所有的主题似乎都是C#:调用或调用JavaScript函数,但我想做的恰恰相反,我想在C#和JavaScript上创建一个函数,我想JavaScript函数调用C#函数并检索它的数据,这似乎是一个好问题。 问题是我对网络一无所知,也不知道它是如何工作的,但我尝试了一个示例: 创建了一个类: public interface IFoo { string Bar { get; set; } } public class Foo : IFoo { public s
public interface IFoo
{
string Bar { get; set; }
}
public class Foo : IFoo
{
public string Bar { get; set; }
}
然后
和Javascript代码:
<script type="text/javascript" language="javascript" >
function Callme(){
alert('Js function start . keep pressing OK')
var foo = external.CreateFoo();
alert(foo.Bar);
foo.Bar = "qwer";
alert(external.Bar(foo));
}
</script>
但是javascript没有显示任何内容,如果我遗漏了什么,请指导我。这里有一些误解 Javascript无法调用服务器函数 为此,请使用Ajax 我们可以考虑的唯一方法是在像GWT这样的框架中,但要小心:GWT用javascript编译java代码,javascript通过ajax服务器调用
内存中需要考虑的是,如果一个框架建议您直接在javascript中调用C#或java方法,那么它实际上不会执行该操作:它使用ajax调用服务器资源,然后服务器资源调用该方法。方法返回,ajax响应被发送到javascript。这里有一些误解 Javascript无法调用服务器函数 为此,请使用Ajax 我们可以考虑的唯一方法是在像GWT这样的框架中,但要小心:GWT用javascript编译java代码,javascript通过ajax服务器调用
内存中需要考虑的是,如果一个框架建议您直接在javascript中调用C#或java方法,那么它实际上不会执行该操作:它使用ajax调用服务器资源,然后服务器资源调用该方法。方法返回,ajax响应被发送到javascript。您应该真正了解HTTP是如何工作的,然后重新评估您的问题 您不能直接从JavaScript调用C#函数,因为您的JavaScript由浏览器在客户端执行,而C#由Web服务器在服务器上运行
如果要在服务器上调用函数,需要通过AJAX请求,使用某种Web库(如ASP.NET WebAPI或ASP.NET MVC)进行调用。您应该真正了解HTTP是如何工作的,然后重新评估您的问题 您不能直接从JavaScript调用C#函数,因为您的JavaScript由浏览器在客户端执行,而C#由Web服务器在服务器上运行
如果要在服务器上调用函数,需要通过AJAX请求,使用某种Web库(如ASP.NET WebAPI或ASP.NET MVC)来调用函数。进一步解释Jerome C的答案 C#是一种服务器端语言,由服务器请求执行。而JavaScript是客户端语言,这意味着它是由浏览器处理的。两者都有各自的优点,并且都常用于相同的事情,例如验证。服务器端语言是一种安全的方法,可以确保某些东西,例如在数据库之间执行命令。而客户端语言(JavaScript)更常用于改善用户体验,但使事情更具交互性 正如人们所说,两者之间有沟通的方式,但不是“直接”。这里的关键词是AJAX。使用开放源代码库(如客户端的jQuery)和服务器端的自定义处理程序(.ASHX文件),可以在客户端和服务器之间发出异步请求
用更高级的语气;你可以直接使用JavaScript和C语言对象之间的通讯,比如Simulal.Studio,这是一个很小的设置,所以我不推荐这个例子,但是将来肯定会考虑的。 < P>来解释杰罗姆C的答案。 C#是一种服务器端语言,由服务器请求执行。而JavaScript是客户端语言,这意味着它是由浏览器处理的。两者都有各自的优点,并且都常用于相同的事情,例如验证。服务器端语言是一种安全的方法,可以确保某些东西,例如在数据库之间执行命令。而客户端语言(JavaScript)更常用于改善用户体验,但使事情更具交互性 正如人们所说,两者之间有沟通的方式,但不是“直接”。这里的关键词是AJAX。使用开放源代码库(如客户端的jQuery)和服务器端的自定义处理程序(.ASHX文件),可以在客户端和服务器之间发出异步请求
用更高级的语气;你可以直接使用JavaScript与C对象之间的通信,比如Sigaalr,它是一个很小的安装程序,所以我不推荐这个例子,但是将来肯定会考虑的。 < P>你不能直接用JavaScript调用服务器函数。p> 如果需要,您可以使用
\uuuu doPostBack(“Button1”),而不是
将您的操作放在Button1的事件中。您不能通过Javascript直接调用服务器函数
如果需要,您可以使用\uuuu doPostBack(“Button1”),而不是
在Button1的活动中采取行动。伙计们,等一下暂停。所有人都需要减速阅读。正如这家伙所说:
I get Error from the webbrowser control :
这意味着他嵌入了一个webbrowser控件,打开了这个运行javascript的页面
为了澄清这一点,我认为他的意思是:
这不是在线的李>
他在C#应用程序中有一个webBrowserControl,可以打开一个页面来运行这个javascript
在他的应用程序中,他希望使用javascript从应用程序中的类调用C#方法
现在,我同意他有点模棱两可(提示,请用你的话更清楚些)
Error : "external" is null or not an object
I get Error from the webbrowser control :
window.external.CreateFoo();
webBrowser1.ObjectForScripting = this;