0

VS 2008 で Web サイト プロジェクトを Web アプリケーション プロジェクトに変換していますが、ユーザー コントロールの動的な読み込みに関するクエリに遭遇しました。

<%@ Reference Control="~/UserControls/MyUserControl.ascx" %>

そして、私が単に呼び出したページで...

Dim ucSupplierDetails As New ASP.usercontrols_myusercontrol_ascx

残念ながら、Web アプリケーション プロジェクトに更新すると、これは有効な行ではなくなります。代替手段はありますか?

4

2 に答える 2

3

ここでユーザーコントロールを動的にロードするのは別の方法です:

Dim ucSupplierDetails As New UserControl 
ucSupplierDetails.LoadControl("~/UserControls/MyUserControl.ascx")
placeholder.Controls.Add(ucSupplierDetails)

編集:ここに 2 番目のオプションがあります。ユーザー コントロールを名前空間に手動で配置します。

Namespace MyUserControlNamespace

    Public Class MyUserControl Inherits System.Web.UI.UserControl

    End Class

End Namespace

ユーザー コントロールのクラス宣言を変更することを忘れないでください (最後の行の Inherits 属性)。

<%@ Control Language="VB" AutoEventWireup="true" 
    CodeFile="MyUserControl.ascx.vb" 
    Inherits="MyUserControlNamespace.MyUserControl" %>

そして今、名前空間によってそれらにアクセスできます:

Dim ucSupplierDetails As New MyUserControlNamespace.MyUserControl
于 2009-12-02T20:50:52.397 に答える
2

Try using <%@ Import namespace="Namespace.Of.Your.Usercontrol" %> instead

于 2009-12-02T14:33:16.447 に答える