Веб-сайт ASP.NET: страница с несколькими формами

У меня проблема при динамическом создании веб-страницы в ASP.NET (C#).

Мне нужно вставить несколько тегов формы на этой странице, я знаю, что не могу добавить более одного тега с атрибутом runat="server", и он мне не нужен.

Я хочу разместить их в C# (по одному для каждого элемента, которым я должен управлять), без атрибута runat, но объект HtmlForm, который я использую для вставки формы, автоматически добавляет атрибут runat, и я не могу удалить его (пробовал с form.Attributes.Remove ("runat"))

Если я использую простую строку вроде:

"<form id="someID" method="POST" action=""></form>"

и я добавляю это несколько раз в мой div, это работает. Дело в том, что я не хочу вставлять ВСЕ свои объекты HTML, записывая их в строку, и добавлять их с помощью метода InnerHTML. Я ищу объект, который управляет формой без атрибута runat или способа удалить его из HtmlForm.

2 ответа

Решение

Пользовательский элемент управления является, вероятно, самым чистым решением, но вы можете добавить HtmlGenericControl вместо HtmlForm объект, который не связан с какими-либо конкретными атрибутами.

Dim ctrl As New HtmlGenericControl("form")
ctrl.Attributes.Add("id", "someID")
ctrl.Attributes.Add("method", "POST")
ctrl.Attributes.Add("action", "")
OuterDivContainer.Controls.Add(ctrl)

Если вы хотите динамически добавлять элементы управления на страницу и сделать так, чтобы веб-страница отображала их как чистый HTML, вместо отображения элементов управления asp: вы можете использовать элемент управления Literal. Проверьте эту ссылку или эту

Другие вопросы по тегам