Изменение сгенерированного ASP.NET <форма> идентификатор?

На моей странице ASP.Net я имею

<form id="MasterPageForm" runat="server">

Однако каждый раз, когда разметка сгенерирована, она превращается

<form name="aspnetForm" method="post" action="SomePage.aspx..." id="aspnetForm">

Действительно ли возможно установить, каков сгенерированный идентификатор HTML для формы?

8
задан Earlz 15 July 2010 в 16:09
поделиться

1 ответ

Примечание: вы видите «aspnetForm», потому что вы используете главную страницу.

Я нашел ваше решение в этой теме ...

http://forums.asp.net/p/883974/929349.aspx

Короче говоря, вот какой ответ по этой ссылке:

Вот код, ответственный за эту ошибку:

public override string UniqueID
{
      get
      {
            if (this.NamingContainer == this.Page)
            {
                  return base.UniqueID;
            }
            return "aspnetForm";
      }
}

Как видите, когда контейнер именования отличается от текущей страницы (что происходит, когда вы используете главную страницу), свойство UniqueID возвращает «aspnetForm». это свойство отображается в атрибуте name, который отправляется клиенту в теге формы. поэтому, если вам действительно нужно, вы можете создать свою собственную форму, унаследовав от htmlform, а затем переопределить свойство UniqueID или свойство Name (это может быть лучшим вариантом).

Пример настраиваемого класса HtmlForm может выглядеть следующим образом:

public class Form : System.Web.UI.HtmlControls.HtmlForm
{
    public Form() : base() { }

    public override string UniqueID
    {
        get {
            if (this.NamingContainer == this.Page)
            { return base.UniqueID; }

            return "f";
        }
    }
}

Примечание. Вы, конечно, можете изменить имя формы с «f» на другое или сделать так, чтобы она считывала динамическое значение, например, из файла web.config или так.

и используется так

<%@Register tagprefix="LA" Namespace="Mynamespace"%>
...
<LA:form runat="server" id="frm">
...
</LA:form>
12
ответ дан 5 December 2019 в 10:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: