javascript怎么调用C#写的dll?急急急急~

Forever_Newer 2008-11-05 09:20:37
我用C#写了一个ClassLibrary1.dll,如下:

namespace ClassLibrary1
{
public static class Class1
{
public static string GetMsg()
{
return "OK!!!";
}
}
}

问题是在网页的javascript怎么调用这个dll,把内容显示出来?
我自己写了个解决方法,但是有错误显示不出来:
先把dll添加到引用,然后在前台添加这个dll:
<OBJECT id = "MyControl1" name = "MyControl1" classid = "ClassLibrary1.dll#ClassLibrary1.Class1" >
</OBJECT>
脚本:
<script language="javascript" type="text/javascript" >
function TestDLL()
{
var aa=MyControl1.GetMsg();
alert(""+aa);
}
</script>
按钮:
<asp:Button ID="Button1" runat="server" Text="显示" OnClientClick="TestDLL()"/>
当点击这个按钮时,javascript显示dll中GetMsg()方法的返回值“OK!!!”,但是有错误没反应,
不知道问题出在哪,谁能给个解决方法,谢了!!!
...全文
427 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
Longgreenlee 2008-11-05
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 phper2008 的回复:]
是的,或者在类库里把js包含进去,让js成为你类库的资源!
或者就用ajax调用后台代码,在后台再调用你dll里方法!
[/Quote]up
wfyfngu 2008-11-05
  • 打赏
  • 举报
回复
或者直接使用 AjaxPro
方法很简单
wfyfngu 2008-11-05
  • 打赏
  • 举报
回复
可以实现,不过是间接实现
方法就是在服务器端公布一个页面,比如 page.ashx
这个页面接受到请求后就负责调用 dll 中的某个方法
而客户端,使用ajax去请求这个 ashx 文件并打印出返回值可以了
Forever_Newer 2008-11-05
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 chuntian1983 的回复:]
JS是安全的界面脚本!
你的做法是错误的,直接在方法里输出JS函数就好了。
[/Quote]
能详细点吗?例子写下...
  • 打赏
  • 举报
回复
JS是安全的界面脚本!
你的做法是错误的,直接在方法里输出JS函数就好了。
Forever_Newer 2008-11-05
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 lovehongyun 的回复:]
只能调用activex.
你发了多少帖子-_-!
[/Quote]
呵呵 急嘛!
ojekleen 2008-11-05
  • 打赏
  • 举报
回复
<OBJECT id = "MyControl1" name = "MyControl1" classid = "ClassLibrary1.dll#ClassLibrary1.Class1" >
</OBJECT>
你的.dll文件是否在你的网站根目录下面,你可以通过GUID来生成一个唯一码来标识.
ojekleen 2008-11-05
  • 打赏
  • 举报
回复
楼主的方法应该是行的通过,不过前提是客户端必须也要装.net,所以用.net来开发COM控件是没有意义的.
Forever_Newer 2008-11-05
  • 打赏
  • 举报
回复
用C#编写标准的ActiveX控件?跟vc编写的是一样的,行啊??
lovehongyun 2008-11-05
  • 打赏
  • 举报
回复
只能调用activex.
你发了多少帖子-_-!
ljsheng 2008-11-05
  • 打赏
  • 举报
回复
要用 AJAX...
Tureno 2008-11-05
  • 打赏
  • 举报
回复
没有接触过,不过3楼的说了用ajax可以通过websevice来调用你dll里写的方法!
你不妨试试。
Forever_Newer 2008-11-05
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 phper2008 的回复:]
是的,或者在类库里把js包含进去,让js成为你类库的资源!
或者就用ajax调用后台代码,在后台再调用你dll里方法!
[/Quote]
那样不行,还不是等于在服务端执行嘛!我现在想在客户端执行啊!
caofan520 2008-11-05
  • 打赏
  • 举报
回复
做成com
实际运用没什么意义
宝_爸 2008-11-05
  • 打赏
  • 举报
回复
是不是得做成com组件javascript才能访问呢。
phper2008 2008-11-05
  • 打赏
  • 举报
回复
是的,或者在类库里把js包含进去,让js成为你类库的资源!
或者就用ajax调用后台代码,在后台再调用你dll里方法!
nikolas 2008-11-05
  • 打赏
  • 举报
回复
JS是安全的界面脚本!
你的做法是错误的,直接在方法里输出JS函数就好了。
syc958 2008-11-05
  • 打赏
  • 举报
回复
用ajax可以通过websevice来调用你dll里写的方法!
Forever_Newer 2008-11-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yangsongshuang 的回复:]
这种需求是实现不了的
js是不能调用dll的
[/Quote]
真的假的啊?难道实现不了??
为什么呢?
加载更多回复(1)

62,073

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧