Примечание: вы видите "aspnetForm", потому что вы используете главную страницу.
Я нашел ваше решение в этой теме ...
http://forums.asp.net/p/883974/929349.aspx
Короче говоря, вот что ответит по этой ссылке:
Вот код, ответственный за эту ошибку:
public override string UniqueID
{
get
{
if (this.NamingContainer == this.Page)
{
return base.UniqueID;
}
return "aspnetForm";
}
}
Как вы можете видеть, когда контейнер именования отличается от текущегоpage (то, что происходит при использовании главной страницы), свойство UniqueID возвращает "aspnetForm".это свойство отображается в атрибуте имени, который отправляется клиенту в теге формы.поэтому, если вам действительно нужно, вы можете создать свою собственную форму, унаследовав ее от 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>