1

GridView クラスを継承するカスタム サーバー サイド コントロールを作成しました。コンマ区切りでデータ ソース (DataSet または DataTable) の列名を受け入れるパブリック文字列プロパティを追加しました。これで、必要なメソッドを実装し (私の場合は OnRowDataBound イベントをオーバーライドしました)、カスタム プロパティ値を使用しました。他のプロジェクトでも同じ DLL を使用しました。以下のようにプロパティを宣言しました

[Bindable(false)]
public string RowSpanColumn
{
     get { return _RowSpanColumn; }
     set { _RowSpanColumn = value; }
}

コントロールを ASPX ページにドラッグしました。VS のデザイン ビューは問題なく表示されます (GridView デザインと同じ)。しかし、上記のようにカスタム プロパティを設定すると、コントロールのデザイン ビューにエラーが表示されます。

There was an error rendering the control.Object reference not set to an instance of an object

また、ASPX ページは期待どおりに完全に実行されています。Visual Studio のデザイン ビューに問題があるだけです。解決策を見つけるのを手伝ってください。ありがとう

アップデート

プロパティ名を RowSpanColumn 以外に変更すると、RSColumn と表示されることがわかりました。デザインは完璧に現れています。RowSpanColumn が Visual Studio で使用される事前定義されたプロパティかどうか知りたいですか? 私を助けてください。

4

1 に答える 1

0

カスタム コントロールにデザイン時のサポートを追加しようとしましたか?

役立つリンクをいくつか紹介します。

ASP.NET コントロール デザイナーの概要 -- http://msdn.microsoft.com/en-us/library/wxh45wzs.aspx

設計時アーキテクチャ -- http://msdn.microsoft.com/en-us/library/c5z9s1h4.aspx

Visual Studio .NET のカスタム デザインタイム コントロール機能 -- http://msdn.microsoft.com/en-us/magazine/cc164048.aspx

デザインタイム サポートの拡張 --
http://msdn.microsoft.com/en-us/library/37899azc.aspx

詳細については、Visual Studio の別のインスタンスを使用して問題をデバッグし、既存のプロセスにアタッチしてみてください。

于 2011-08-03T13:41:25.637 に答える