ASP.NET Проблема с именем CheckBox runat =»сервер»

#asp.net #html

#asp.net #HTML

Вопрос:

Когда я использую checkbox runat="server" в моем asp.net веб-приложение. Тогда у браузеров возникает проблема:

Неперехваченная синтаксическая ошибка, нераспознанное выражение: [name=ctl00$ctl00$ContentPlaceHolder1$FormPlaceHolder$ Перекрестное финансирование]

ASP.NET код является:

 <input type="checkbox" name="CrossFinancing" id="CrossFinancing" runat="server" />
  

Сгенерированный HTML-код является:

 <input name="ctl00$ctl00$ContentPlaceHolder1$FormPlaceHolder$CrossFinancing" type="checkbox" id="ctl00_ctl00_ContentPlaceHolder1_FormPlaceHolder_CrossFinancing" />
  

В чем проблема с этим именем? Это генерируется asp.net и
браузеры не анализируют это правильно, другие элементы управления имеют ‘$’ в имени и
это работает.

Комментарии:

1. Сгенерированный HTML-это текстовое поле, а не флажок ..?

2. Это type =»text» или это должно быть type =»checkbox»?

3. исправлено, я вставил не эту строку, которую должен

4. Где именно вы видите эту ошибку и какой браузер вы тестировали? Есть ли javascript на странице?

5. Используете ли вы этот атрибут name в javascript?

Ответ №1:

Почему вы не позволяете ASP.net среда выполнения генерирует флажок для вас??

 <asp:CheckBox id="chkCrossFinancing" runat="server"/>
  

Атрибутом name будет управлять ASP.net сама среда выполнения.