Overridden button control escaping content. How to stop it?
Posted
by RemotecUk
on Stack Overflow
See other posts from Stack Overflow
or by RemotecUk
Published on 2010-04-16T09:15:20Z
Indexed on
2010/04/16
9:23 UTC
Read the original article
Hit count: 383
Hi,
I've got an ASP.Net button control that I have overridden to provide different functionality. the code looks as follows.. I'm overriding the Render method to surround the control with an <a>
...
/// <summary>
/// Render Method
/// </summary>
/// <param name="writer"></param>
protected override void Render(HtmlTextWriter writer)
{
base.CssClass = "euva-button-decorated";
writer.Write("<a class=\"euva-button\">");
base.Render(writer);
writer.Write("</a>");
}
When I check the generated source on the page, I find that where ASP.Net has injected its click handler it does the following...
<a class="euva-button"><input type="submit" name="TestButton" value="Test Button" onclick="clickOnce(this);WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("TestButton", "", true, "", "", false, false))" id="TestButton" class="euva-button-decorated" /></a>
... it seems to be escaping the output for the double quotes which means that the browser cannot understand the javascript.
How do I make the render method not escape the injected ASP.Net client click handler ??
Note I also have my own client click handler which is declared declaratively in the page mark-up.
© Stack Overflow or respective owner