ClientIDMode="Static"
Это полезно блокирует идентификатор любого элемента управления runat = "server", однако он не блокирует атрибут 'name' элемента ввода html.
Просмотр вв этом случае единственной причиной наличия атрибута runat = "server" на входе является использование проверки .Net, я бы предложил использовать для этого внешнюю библиотеку JS, такую как jQuery.
Если, однако, как я, вам нужно изменить атрибут value, единственное, что я вижу, это довольно грязный.Если вы удалите runat = "server" из входных данных, вы можете поместить серверный элемент управления, такой как литерал, в атрибут value = "".
Например:
<input id="first_name" class="formright" type="text" name="first_name" value="<asp:Literal id="litFirstNameValue" runat="server" />" />
Пожалуйста, не обращайте на меня внимания в связи с такими плохими практиками кодирования, он предназначен в качестве последнего средства для предотвращения изменения атрибута name на имя стиля .Net.
Кто-нибудь еще знает о другом способеисправить имя?(Элемент формы не определен как runat = "server", но он встроен в обычную форму .Net, поэтому сервер присоединяет его к основному дереву формы)