1

文字列型の MyProperty というプロパティを持つ DataControlField から継承するカスタム Web コントロールがあります。

GridView 列定義内でこれを試す場合:

<MyField MyProperty='<%# MyGlobalResources.TheResourceIWant %>' />

この結果が得られます:

パーサー エラー メッセージ: データバインディング式は、DataBinding イベントを持つオブジェクトでのみサポートされます。Query.Web.DynamicField には DataBinding イベントがありません。

MyGlobalResources は別のプロジェクトの resx ファイルであるため、明示的なローカリゼーション表記 (<%$ Resources: ResourceFile.ResourceName) を使用できません。

私が試したことは成功しませんでした:

  • <%# の代わりに <%= を使用します。
  • MyField.MyProperty を Bindable(true) でマークします。

何が欠けているか誰か知っていますか?

私が達成しようとしていることの簡単な説明:

コードから HeaderText プロパティを設定する必要があります。具体的には、webforms プロジェクト (同じソリューション内の別のプロジェクト) の外部のリソース ファイルから <%$ Resources:... は機能しません。

私が使用しようとしている表記法は、TemplateField 内 (つまり、ItemTemplate 内の LinkBut​​ton 内) でうまく機能します。

ありがとうございました。

4

0 に答える 0