用C#写了个activex控件,里面有这么个方法
public string Read()
{
return "sss";
}如何在js中调用该方法,并将返回值赋给文本框控件
<object id="TLP1" codebase="setup.exe" classid="clsid:46E2B1CE-6031-4D7E-B52C-390316CEA933">
</object>用
<script language="javascript">
function read()
{
var s=TLP1.Read();
document.getElementById('textbox1').value=s;
}
</script><input type="button" onclick"read()" valuee="Click" />
文本框不能获取值
public string Read()
{
return "sss";
}如何在js中调用该方法,并将返回值赋给文本框控件
<object id="TLP1" codebase="setup.exe" classid="clsid:46E2B1CE-6031-4D7E-B52C-390316CEA933">
</object>用
<script language="javascript">
function read()
{
var s=TLP1.Read();
document.getElementById('textbox1').value=s;
}
</script><input type="button" onclick"read()" valuee="Click" />
文本框不能获取值
public interface IOleClientSite
{
void SaveObject();
void GetMoniker(uint dwAssign, uint dwWhichMoniker, object ppmk);
void GetContainer(out IOleContainer ppContainer);
void ShowObject();
void OnShowWindow(bool fShow);
void RequestNewObjectLayout();
} [ComImport,Guid("0000011B-0000-0000-C000-000000000046"), InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
public interface IOleContainer
{
void EnumObjects([In, MarshalAs(UnmanagedType.U4)] int grfFlags,
[Out, MarshalAs(UnmanagedType.LPArray)] object[] ppenum);
void ParseDisplayName([In, MarshalAs(UnmanagedType.Interface)] object pbc,
[In, MarshalAs(UnmanagedType.BStr)] string pszDisplayName,
[Out, MarshalAs(UnmanagedType.LPArray)] int[] pchEaten,
[Out, MarshalAs(UnmanagedType.LPArray)] object[] ppmkOut);
void LockContainer([In, MarshalAs(UnmanagedType.I4)] int fLock);
}
private void CallJavaScript(string Filenames)
{ Type typeIOleObject = this.GetType().GetInterface("IOleObject", true);
object oleClientSite = typeIOleObject.InvokeMember("GetClientSite",
BindingFlags.Instance | BindingFlags.InvokeMethod | BindingFlags.Public,
null,
this,
null); IOleClientSite oleClientSite2 = oleClientSite as IOleClientSite;
IOleContainer pObj;
oleClientSite2.GetContainer(out pObj); //参数数组
//获取页面的Script集合
IHTMLDocument pDoc2 = (IHTMLDocument)pObj;
Object script = pDoc2.Script;
object[] args = new object[1];
args[0] = Filenames; try
{
//调用JavaScript方法OnScaned并传递参数,因为此方法可能并没有在页面中实现,所以要进行异常处理
script.GetType().InvokeMember("OnScaned",
BindingFlags.Instance | BindingFlags.InvokeMethod | BindingFlags.Public,
null,
script,
args);
}
catch(Exception err) {
}
}