1

デザイン ビューのカスタム パネル コントロールに問題があります。render メソッドをオーバーライドしても、設計時には影響しません。

次のようにテキスト ボックスを拡張すると、設計時に div タグが表示され、次にテキスト ボックス コントロールが表示されました。パネル コントロールで同じことを試みましたが、ここにテキストを含む div が表示されませんでした。パネルはコンテナー コントロールであるため、デザイン ビューでは動作が異なるようです。本当にイライラします。デザインタイムを希望どおりにレンダリングする方法についてのアイデアはありますか?

Public Class textboxextend
  Inherits TextBox

  Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)

    writer.RenderBeginTag("div")
    writer.Write("here")
    writer.RenderEndTag()
    MyBase.Render(writer)
  End Sub
End Class

Public Class panelextend
  Inherits Panel

  Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)

    writer.RenderBeginTag("div")
    writer.Write("here")
    writer.RenderEndTag()
    MyBase.Render(writer)
  End Sub
End Class
4

1 に答える 1

0

Panel は、TextBox (およびほとんどのコントロール) と同じようには機能しません。Render メソッドがないため、オーバーライドが呼び出されることはありません。Panel は RenderBeginTag と RenderEndTag を使用します。AddAttributesToRender メソッドも使用することができます。

于 2011-05-31T02:12:03.697 に答える