Nota: viene visualizzato "aspnetForm" perché si sta utilizzando una pagina principale.
ho trovato la soluzione in questa discussione ...
http://forums.asp.net/p/883974/929349.aspx
In breve, questo è ciò che la risposta è da questo link:
Ecco il codice responsabile di tale errore:
Come si può vedere, quando il contenitore di denominazione è diverso dalla pagina corrente (qualcosa che accade quando si utilizza una pagina master) La proprietà UniqueID restituisce "aspnetForm". questa proprietà viene renderizzata nell'attributo name che viene inviato al client nel tag form. quindi, se proprio ne hai bisogno, puoi creare il tuo modulo ereditando da htmlform e poi sovrascrivendo la proprietà UniqueID o la proprietà Name (questa potrebbe essere un'opzione migliore).
Un esempio di classe HtmlForm personalizzato potrebbe essere simile a questo:
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";
}
}
}
Nota: Si può certamente cambiare il nome del modulo da "F" a qualcos'altro, o fa leggere un valore dinamico, diciamo da un file web.config o così.
e utilizzato in questo modo
<%@Register tagprefix="LA" Namespace="Mynamespace"%>
...
<LA:form runat="server" id="frm">
...
</LA:form>
fonte
2010-07-15 16:04:05
In ASP.NET 4, questo comportamento è cambiato. Anche se il controllo '