Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否可以将参数传递给程序集dll?_C#_Asp.net_.net_.net Assembly - Fatal编程技术网

C# 是否可以将参数传递给程序集dll?

C# 是否可以将参数传递给程序集dll?,c#,asp.net,.net,.net-assembly,C#,Asp.net,.net,.net Assembly,您好,我已经提到了代码的工作原理,我能够返回如本文所示的值。这是我通过javascript调用的dll程序集 但是,我希望将参数传递到接口中,并将它们拉入类中 我修改了文章中的代码,尝试了以下代码:- public interface ASignatures { void showMsg(string val); } [ClassInterface(ClassInterfaceType.AutoDual)] public class AClass :ASignatur

您好,我已经提到了代码的工作原理,我能够返回如本文所示的值。这是我通过javascript调用的dll程序集

但是,我希望将参数传递到接口中,并将它们拉入类中

我修改了文章中的代码,尝试了以下代码:-

 public interface ASignatures 
 {
    void showMsg(string val);
 }
    [ClassInterface(ClassInterfaceType.AutoDual)] 
 public class AClass :ASignatures 
 {
    public showMsg(string val)
    {
      MessageBox.Show(val);
    }
上面的代码不执行,我无法看到错误,因为我正在通过浏览器中的javascript调用它。请你告诉我这是否可能,如果可能,那么我做错了吗

我必须使用GET或SET之类的东西吗?只是猜测而已。

更新1 如果我放入消息框,则仅当我没有参数化函数时才会显示消息框。。示例:我将messagebox.show放在文章中提供的代码中,然后它就会显示出来。示例:以下工作并显示messagebox:-

    using System;
using System.Runtime.InteropServices;
namespace ANamespace 
{

  public interface ASignatures
  {
    string FName();
    string SName();
    int Age { get;}  
  }

  [ClassInterface(ClassInterfaceType.AutoDual)]
  public class AClass :ASignatures
  {
    public string FName()
    {
MessageBox.Show("TEST THIS WORKS");
      return "Imran";
    }
    public string SName()
    {
      return "Nathani";
    }
    public int Age
    {
      get { return 24; }
    }
  }
}
但是,现在,我想使用以下方法将参数传递到此DLL:-

<script language="javascript">
    var x = new ActiveXObject("ANamespace.AClass");

    x.CallApp(PassSomeValueForExampleQueryString); //instead of x.CallApp()

  </script>

var x=新的ActiveXObject(“ANamespace.AClass”);
x、 CallApp(PasssomeValueExampleQueryString)//而不是x.CallApp()

它工作了,我必须做一个控制+F5

这个解决方案是完美的!。。它工作了,我只需要做一个控制+F5的浏览器刷新

您需要了解web应用程序和桌面应用程序之间的区别,以及客户端和服务器端的区别mean@MikeSW亚里士多德,如果我编辑上面文章中的代码,我可以打开消息框。只有在使用参数化函数时才没有输出。。所以我想我会在这个论坛上问它。哦,它工作得很好,必须做CONTROL+F5:)您是否知道大多数Internet Explorer用户的浏览器将设置为拒绝ActiveX控件,而大多数其他浏览器根本不支持ActiveX控件?根据七年前的一篇文章,您选择了一种过时的、仅限Microsoft的技术。是的,该解决方案是通过IE在intranet上实现的。现在还可以。。但是,你能告诉我实现这一点的新技术吗。