1. 程式人生 > >C# ActiveX 與JS 互動,只介紹JS呼叫ActiveX的情況

C# ActiveX 與JS 互動,只介紹JS呼叫ActiveX的情況

關於如何編寫ActiveX程式,請參考我的部落格 C#編寫ActiveX控制元件 http://blog.csdn.net/hndkbadxv/article/details/9084167

第一步:在控制元件類中加入一個方法和一個屬性

public string ShowNow()
{
return DateTime.Now.ToString();
}


private string _str;
public string str
{//必須要完整寫出get 和 set ,不能只寫 get 或者 set
get{return _str;}
set{_str = value;}
}

第二步:在html中書寫程式碼

object id="ActiveXDemo" name="ActiveXDemo" classid="clsid:0A031CA1-6B7C-409d-8FC8-FFE4E0FCEE94"{控制元件類頭部的GUID} width="400px"
        height="38" VIEWASTEXT>
<param  name="str" value="用param傳遞控制元件屬性"/>  //給屬性str傳值
    </object>
<input type="button" onclick="alter(ActiveXDemo.ShowNow());" value="測試" ></input>  //呼叫方法


如果遇到如下網頁左下角提示:物件不支援此屬性或方法

解決方法:1,控制元件類頭部是否只有GUID屬性,如果有其它屬性,則刪除,例如:[Guid("0A031CA1-6B7C-409d-8FC8-FFE4E0FCEE94"), ClassInterface(ClassInterfaceType.None), ComVisible(true)],把黃色部分刪除掉;重新打包並部署

2,如果執行了 1 之後還提示相同的錯誤,則看看 控制元件類頭部的GUID是否與 專案 --》 右鍵 --》 屬性 --》 應用程式 --》程式集資訊  中的GUID相同了,如果相同,則把後者改成其他值

 如果有不明白的地方,可以留言諮詢,嘿嘿