Динамически создавать - PullRequest
       10

Динамически создавать

2 голосов
/ 05 декабря 2010

Как я могу создать <form runat="server" /> с кодом (c #)?Моя проблема в том, что я хочу, чтобы на моей странице было несколько форм (и ни одной из них изначально).Я загружаю все компоненты из базы данных.

Я посмотрел везде и ничего не могу найти по этому поводу.

Ответы [ 4 ]

1 голос
/ 05 декабря 2010

ASP.NET допускает только одну серверную форму, но допускает несколько обычных форм на одной странице. Предлагаю вам прочитать эту статью: ASP.NET Forms .

1 голос
/ 05 декабря 2010

Страница ASP.NET может иметь только одну форму "на стороне сервера". Это одно из "основных" правил.

Так что вам придется искать другой способ достичь того, что вам нужно.

Вы можете работать с UpdatePanels, и "отправляющая" определенная панель должна отправлять только ее содержимое, игнорируя другие данные в форме.

1 голос
/ 05 декабря 2010

Из-за болезненной памяти работа с несколькими формами в ASP.NET-веб-формах - настоящая боль. Возможно, стоит взглянуть на ASP.NET-MVC, который намного ближе к HTML; вы можете делать все, что вам нравится; просто используйте foreach в представлении, написав форму для каждого элемента.

0 голосов
/ 05 декабря 2010

Спасибо за ответы. Я решил это, используя это внутри моей страницы:

public override void VerifyRenderingInServerForm(System.Web.UI.Control control)
{
} 

А затем визуализируйте мою форму в виде простого текста. Пока не вижу никаких ошибок, но обновлю, если они появятся.

Кроме того, как я уже сказал в своем вопросе, я загружаю все элементы управления динамически и не использую какой-либо код позади элементов управления (если бы я это сделал, я думаю, что некоторые ошибки могут появиться). Все мои сообщения обрабатываются путем проверки по HttpContext.Current.Request.Form.

...