Doppeltes Escapen beim Button

02/10/2008 - 17:21 von Wolfgang Maier | Report spam
Hi Leute,

Wenn ich im Page_Load()das Text-Property auf 'Nächster' setze, wird das
'&' nocheinmal escaped und ich erhalte in der Anzeige genau diese Ausgabe.
Im HTML-Code steht dann value="Nächste Seite".

Das passiert nicht, wenn ich schon in der .aspx das 'à' ersetze.

Gibt es dafür einen Grund oder kann ich das verhindern?
Das passiert allerdings nicht bei einem Label!!

mfg, Wolfgang

A-8020 Graz
Austria
 

Lesen sie die antworten

#1 Stefan Falz [MVP]
03/10/2008 - 02:01 | Warnen spam
Hallo Wolfgang,

"Wolfgang Maier" schrieb:

Im HTML-Code steht dann value="Nächste Seite".



ist mir zwar vorher noch nie aufgefallen aber Recht hast Du schon!?

Gibt es dafür einen Grund oder kann ich das verhindern?



Den Grund kann ich Dir nicht nennen. Wenn man sich die System.Web.dll
mal mit dem Reflector anschaut, dürfte das eigentlich auch gar nicht
sein (es sei denn, ich hab was übersehen, was sicherlich auch im
Rahmen des möglichen liegt :)

Außer <Button>.Text = Server.HtmlDecode( <Text> ) fàllt mir da aber
auch grade nichts ein. Wenn das viele Buttons betrifft, könntest Du
ein eigenes Control, welches von Button erbt, erstellen und das dann
dort zentral einbauen.



Public Class Button

Inherits System.Web.UI.WebControls.Button

Public Overrides Property Text() As String
Get
Return MyBase.Text
End Get
Set
MyBase.Text = Server.HtmlDecode( Value )
End Set
End Property

End Class



(Ist nur schnell hingeschrieben, kann also noch Fehler enthalten. Ist
ja auch schon etwas spàt ^^)

Tschau, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

Ähnliche fragen