私は1つのプロジェクトにユーザーコントロールを持っていて、私のaspxページを持つ別のプロジェクトにその参照を追加しました。マイページにコントロールを追加する方法。仮想パスで loadcontrol メソッドを使用する必要があることに気づきました。しかし、仮想パスについては何も得られません。これについて私を助けてください。
1356 次
1 に答える
1
動的にロードする場合は、使用する必要がありますLoadControl
var c = this.LoadControl("~/AddressControl.ascx");
this.myPanel.Controls.Add(c);
動的にロードしたくない場合は、マークアップでコントロールを nay other user control として指定する必要があります。
<AddressControl runat="server" ID="myControl" />
あなたの場合の問題は、Web アプリケーションまたは仮想ディレクトリの下にある ASCX ファイルへの参照が実際に必要なことです。
ASCX ファイルをアプリケーションにコピーする必要があります。ビルド後のアクションを構成することで、その手順を簡単に実行できます。
このプロセスを実行する方法について詳しく説明している次の記事をご覧ください。
http://webproject.scottgu.com/CSharp/UserControls/UserControls.aspx
ユーザー コントロールはプロジェクト間で共有するように設計されていないため、これは回避策のようなものです。状況に最適なコントロールはサーバー コントロールと呼ばれ、この目的のために設計されています。
于 2012-07-22T14:12:44.250 に答える