У меня есть элемент управления ASP.Net, который я переопределил, чтобы обеспечить другую функциональность. код выглядит следующим образом. Я переопределяю метод Render, чтобы окружить элемент управления <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>");
}
Когда я проверяю сгенерированный источник на странице, я обнаруживаю, что там, где ASP.Net внедрил свой обработчик кликов, он делает следующее ...
<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>
... кажется, что он не выводится в двойных кавычках, что означает, что браузер не может понять javascript.
Как сделать так, чтобы метод рендеринга не экранировал внедренный обработчик щелчков клиента ASP.Net ??
Примечание. У меня также есть свой собственный обработчик кликов, который декларативно объявляется в разметке страницы.