Удалите ctl00$ из кнопки на стороне сервера внутри главной страницы и сделайте ее обратной
Всем привет!
я хочу удалить ctl00$ из элемента управления button NamingContainer при использовании masterpage.
Что я уже пробовал:
Я попытался удалить ctl00$ из имени и идентификатора кнопки на стороне сервера, переопределив ее NamingContainer, например:
namespace NoName { public class MatchingNameButton : Button { public override Control NamingContainer { get { return null; } } } }
а потом зарегистрировал это на странице aspx:
<%@ Register TagPrefix="MatchingNameHtmlTextWriter" Namespace="NoName" Assembly="app_code" %>
и затем приходит как этот:
<MatchingNameHtmlTextWriter:MatchingNameButton runat="server" Text="btnTest" ID="btnTest" OnClick="btnTest_Click" />
а выход такой:
<input type="submit" name="btnTest" value="btnTest" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions('btnTest', '', true, '', '', false, false))" id="btnTest">
этот способ хорош для удаления управляющего пути. но использование этого метода предотвратит событие btnTest_Click!
и это так плохо для меня.
мой вопрос таков: как я должен хранить события кнопок таким образом?
моя версия .net-4.5
все, что поможет, будет оценено по достоинству.