gpt4 book ai didi

c# - 网页中dll的弹出控件

转载 作者:太空宇宙 更新时间:2023-11-03 14:30:09 25 4
gpt4 key购买 nike

我正在开发一种可以在 web 中运行并获胜的框架,所以我有这个界面:

public interface IViewsManager
{
...
void ShowMessage();
...
}

我有 win 的实现,它从另一个 dll 调用弹出控件。我的问题是当我尝试为 web 环境实现它时,我必须从另一个 dll 调用弹出控件,我想显示弹出窗口并且网页禁用灰色层,我不知道如何做吧。

结构如下:

1) UI.Common

a) IViewsManager

2) UI.Win

a) ViewsManagerWin

3) UI.Web

a) ViewsManagerWeb

4) UI.Controls

a) PopupControlWin

b) PopupControlWeb

5) Web Application

我从我的 Web 应用程序调用 IViewsManager.ShowMessage,并根据环境调用适当的弹出控件。

拜托,我们将不胜感激。提前致谢。

最佳答案

我觉得你有点困惑......

您不能“显示页面代码后面的控件”

本质上,如果你想弹出一个对话框,你可以使用“在客户端”的 Javascript 函数来完成,后面的 aspx 页面代码在服务器上执行,这意味着在视觉上你不能做太多,除非你想让你的主人看到它,而不是其他人。

还有一个显示对话框的选项,那就是在页面内容中嵌入某种形式的插件,如 silverlight、flash 或 active x 控件,然后在加载时让它自行加载。

如果我对您的情况的理解是正确的,那么您可能正在尝试加载一个事件的 x 控件,并且出于某种原因,这个事件的 x 控件加载但是是空白的(所以它没有真正加载)。

这里通常怀疑是 activex 组件的注册和安全性。

当然,我只是猜测这是一个活跃的 x 问题。

简单地说...

在网页上打开对话框就像......一样简单

<script>
Alert("Hello world !!!");
</script>

如果您想更进一步,您需要将对话框呈现为 html 内容或使用 javascript 学习一些魔术。

如何将客栈集成到您的小框架中……那完全是另外一回事了。由于您的代码是一个 dll,您可以很容易地引用它。

也许在您的 GetwebDialog() 方法(或您对它的任何称呼)中,您可以将您希望嵌入对话框的页面上的元素或控件传递给它,然后只需向其中添加一个新的用户控件实例。

对我来说似乎是最安全/最干净的方式。

关于c# - 网页中dll的弹出控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2849290/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com