1

C# Web サイトを VB に変換する必要があります。カスタム Web コントロール (WholeLife.ascx) をロードするページがあり、このコントロール内で複数の Web ユーザー コントロール (WholeLifeChild.ascx) を動的にロードする可能性があります。C# バージョンは機能しますが、VB バージョンは、メイン コントロール (WholeLife.ascx) 内にロードする必要があるコントロール (WholeLifeChild.ascx) を認識できないようです。

C# バージョン (動作):

private WholeLifeChild _selectedChild;

// その後、foreach を使用してループすると、複数の childChoice が読み込まれます。

WholeLifeChilds childChoice = (WholeLifeChilds)LoadControl("~/Controls/WholeLifeChild.ascx");
phChildChoices.Controls.Add(childChoice);
childChoice.ID = "ChildChoices-" + appRate.DependentID;
childChoice.Initialize(appRate, _WholeLifeCoverage);
childChoice.ChildChoicesChanged += new WholeLifeChild.ChangingHandler(ChildChoices_Changed);

VB バージョン (カスタム Web ユーザー コントロールが見つかりません):

Private _selectedChild As WholeLifeChild **(vb complains here on WholeLifeChild)**

'後で foreach を使用してループすると、複数の childChoice がロードされます: (VB は、WholeLifeChildが見つからないかのように文句を言います)

Dim childChoice As WholeLifeChild = DirectCast(LoadControl("~/UserControls/WholeLifeChild.ascx"), WholeLifeChild)
phChildChoices.Controls.Add(childChoice)
childChoice.ID = "ChildChoices-" + appRate.DependentID
childChoice.Initialize(appRate, _WholeLifeCoverage)
childChoice.ChildChoicesChanged += New WholeLifeChild.ChangingHandler(AddressOf ChildChoices_Changed)

この VB バージョンは、読み込み先のコントロール (WholeLife.ascx) と同じディレクトリにある WholeLifeChild.ascx コントロールを見つけることができません。

どんな助けでも大歓迎です。

4

0 に答える 0