以下を試してください。あまりにも悪くないです。
サーバー側のコントロールでは、任意のテキストを入力できるプロパティを作成します。私はそれを「ExtraStuff」と呼んだ。 Private変数でサポートします。そして、タグの一部として、あなたの余分なものを書くためにレンダリング上書き:
Public Class Textarea
Inherits System.Web.UI.HtmlControls.HtmlTextArea
Private m_sExtraStuff As String = ""
Public Property ExtraStuff As String
Get
Return m_sExtraStuff
End Get
Set(value As String)
m_sExtraStuff = value
End Set
End Property
Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)
writer.Write("<textarea ")
writer.Write(m_sExtraStuff)
writer.Write("></textarea>")
End Sub
End Class
次に、あなたのマークアップでは、あなたが作成したプロパティに追加して書きたい余分なものを追加することができます。
<textarea :class="{}" :id="something"></textarea>
または::
かもしれない別のアプローチを、これはレンダリングするとき
<me:Textarea runat="server" ExtraStuff=":class="{}" :id="something""></me:Textarea>
、私はあなたがそれを望むようにそれが見えるだろうと思います:それはかかわら適切にエンコードされますことを確認する必要がありますこれらの特殊な属性を明示的に宣言してから自分の書式で書き出すことがより堅牢であることが必要です。サーバ側制御:
Public Class Textarea
Inherits System.Web.UI.HtmlControls.HtmlTextArea
Private m_sSpecialID As String = ""
Private m_sSpecialClass As String = ""
Public Property SpecialID As String
Get
Return m_sSpecialID
End Get
Set(value As String)
m_sSpecialID = value
End Set
End Property
Public Property SpecialClass As String
Get
Return m_sSpecialClass
End Get
Set(value As String)
m_sSpecialClass = value
End Set
End Property
Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)
writer.Write("<textarea :class=""")
writer.Write(m_sSpecialClass)
writer.Write(""" :id=""")
writer.Write(m_sSpecialID)
writer.Write("""></textarea>")
End Sub
End Class
マークアップ:
<me:Textarea runat="server" SpecialClass="{}" SpecialID="something"></me:Textarea>
出力は同じです。
素敵な仕事。それは間違いなく簡単です。 – PerpetualStudent