asp: доступ к html-элементу в элементе шаблона повторяющегося элемента из кода

0

Как получить доступ к HTML "input type =" checkbox "data- item =" myItems "id =" id123 "" в файле ascx.cs, когда вход находится в asp: repeatater? Это не работает, cuz findcontrol работает только с system.web.ui.control:

var checkBox = (System.Web.UI.HtmlControls.HtmlInputCheckBox)e.Item.FindControl("id123");



Эта:

var checkBox = (Checkbox)e.Item.FindControl("id123");

будет работать, если я сделаю asp: checkbox вместо html input.
Но затем другой вопрос: что эквивалентно для атрибута html ввода "data-" в asp: checkbox?

  • 0
    у вас есть runat = "сервер" установлен на HTML-тег ввода?
Теги:
asprepeater

2 ответа

2

Ответ на первую часть:

Вам нужно установить runat="server" на вход html.

<input type="checkbox" id="id123" data-item="myItems" runat="server".....

Ответьте на вторую часть:

Вы можете указать любой атрибут на серверных элементах управления, и они будут извержены, как и в сгенерированном html. Таким образом, вы можете:

<asp:checkbox id="id123" data-item="myItems" runat="server"....
  • 1
    Хорошая точка зрения. Марек, также не обращай внимания на «предупреждения», которые Visual Studio дает вам относительно «недопустимых атрибутов» на этих элементах управления. Они все равно будут отображаться правильно. Это проще всего проверить, используя текстовое поле asp: с заполнителем.
  • 0
    @Lopsided Спасибо за то, что указали на предупреждение «предупреждение» :) Я только что заметил, вы сначала избили меня до ответа. +1 за это на ваш ответ.
1

Вам нужно будет включить runat="server" в любой элемент, который вы хотите получить из кода.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню