2011-12-30 18 views
5

開発中にWebユーザーコントロールプロジェクトとWebユーザーコントロールプロジェクトのユーザーコントロールを使用する別のWebプロジェクトがあります。designer.csがVisual Studioでユーザーコントロールを使用する際に問題が発生する

私はDocControl.ascxファイルをWebプロジェクトにコピーし、DocControl.ascxのプロパティを使用しようとします。 しかし、VSはコントロールのプロパティを認識しません。私はdesigner.csをチェックするときに、参照が

protected global::MSN.DocControl Control; 

だから私はにSystem.Web.UI.UserControlからコントロールの名前を変更すること

protected global::System.Web.UI.UserControl Control; 

のようなものですMSN.DocControlと私はDocControl.ascxのプロパティを使用できます。

しかし、私は変更するたびに、私の問題があるのaspxファイルを(例えば。ASPXでlableを入れて)、designer.cs内の参照が

protected global::System.Web.UI.UserControl Control; 

になるので、私は私のaspxを変更するたびに、それを変更することがあります。私は何をすべき

私は事前に

感謝をdesigner.csを変更する必要はありません......

+0

designer.csファイルの変更を反映しましたか?他のファイルが古い保護された値を参照していないことを確認してください。 – MethodMan

+0

@DJKRAZE - 伝播するとはどういう意味ですか?申し訳ありませんが私はそれを取得しないでください。 – kevin

+0

保護されたglobal :: System.Web.Ui.UserControlが参照されていたすべての場所で変更を加えましたか?CTRL + Fを押して、それをすべてのファイルまたはプロジェクト全体で見つけることができます – MethodMan

答えて

3

私は

protected global::MSN.DocControl Control; 

を動かすことによってそれを解決しましたからデザイナー.csまで.csページ。

いつでも変更しても問題ありません。

@kokbira - >あなたを助けることを願っています。

+0

これは私を助けた:D – spankmaster79

+0

それを聞いてうれしい! :) – kevin

1

私の場合、私のレジスタ行には悪いsrcパスがありました。これにより、エラーメッセージは発生しませんでしたが、記述したのと同じ症状で、特定のクラスではなくジェネリックコントロールが生成されます。

私はこの(間違ったSrcのパスを持っている)持っていた:

<%@ Register TagPrefix="uc" TagName="Pipes" Src="/Controls/Pipes.ascx" %> 
... 
<uc:Pipes id="ucPipes" runat="server" /> 

をし、それが一般的であり、そしてコントロールのプロパティのいずれも持たないこの、生成された:

protected global::System.Web.UI.UserControl ucPipes; 

を私がCategoryフォルダで正しいパスを実行したとき、それは働いた:

<%@ Register TagPrefix="uc" TagName="Pipes" Src="/Category/Controls/Pipes.ascx" %> 
... 
<uc:Pipes id="ucPipes" runat="server" /> 

この正しいものを生成したので、すべてのプロパティが機能しました。

protected global::Company.Category.Controls.Pipes ucPipes; 
+0

悪いコードビハインドの名前については、この回答も参照してください。 http://stackoverflow.com/a/7001793/292060 – goodeye

関連する問題