簡體   English   中英

在ASP.NET網頁中托管Windows窗體用戶控件

[英]Hosting Windows Forms user control in asp.net web page

我已經創建了一個Windows窗體用戶控件,需要將其放在網頁中。 我看過很多鏈接:

但這是行不通的。

將該WIndows表單用戶控件放入網頁中。 我已經在網頁中編寫了以下代碼。

<body>
    <form id="form1" runat="server">
    <div>
      <object id="MyWinControl" 
         classid="http:VideoShareUserControl.dll#VideoShareUserControl.UserControl1"
         height="100%" 
         width="100%" VIEWASTEXT />
    </div>
    </form>
</body>

但是它不起作用。

因此,請提供任何解決方案。

我認為您忘記設置一些選項:

  1. 在項目屬性頁面的“構建”菜單中設置com互操作的注冊。
  2. 您控件的代碼應該是這樣的(不要忘記Comvisible和Guid):

碼:

using System.Runtime.InteropServices;
namespace WindowsFormsControlLibrary1
{
    [ComVisible(true)]
    [Guid("CD46781D-B691-4287-B802-C9E2540AF08A")]
    [ProgId("WpfComHostDemo.WinformHostUserControl")]
    [ClassInterface(ClassInterfaceType.AutoDispatch)]
    public partial class UserControl1 : UserControl
    {      
        public UserControl1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show(Environment.UserName+" "+Environment.MachineName+" "+
                            Environment.OSVersion);
        }
    }
}
  1. 在您的html或asp.net頁面中,使用以下代碼:

    <object classid="clsid:CD46781D-B691-4287-B802-C9E2540AF08A" />

  2. 將您的控制dll放在您網站的根目錄中

  3. 無需將其添加為參考。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM