2010-12-11 6 views
0

Ich mag ein Benutzersteuerelement in einem anderen Benutzersteuerelement registrieren, aber ich habe einige Fehler wie:Register 2 ein Benutzersteuerelement in einem anderen Usercontrol mit ASP.NET MVC

‚4_txtCount‘ vom Typ Kontroll ‚NumbericTextBox‘ muss gesetzt werden innerhalb eines Formular-Tags mit runat = Server.

Beschreibung: Eine nicht behandelte Ausnahme trat während der Ausführung der aktuellen Web-Anfrage. Bitte überprüfen Sie die Stack-Trace für weitere Informationen über den Fehler und wo es in der Code stammt.

Ausnahmedetails: System.Web.HttpException: Steuer '4_txtCount' vom Typ 'NumbericTextBox' muss in einem Formular-Tag mit runat = server

Und gesetzt werden, wenn ich ein hinzufügen Server-Seite von Tag in meinem UserControl, ich bekomme nie die Fehlermeldung.

Bitte beachten Sie, dass ich bereits einen serverseitige Formular-Tag in meiner Ansicht hinzufügen ...

Wie kann ich ein Benutzersteuerelement in einem anderen Usercontrol registrieren und verwenden, ohne serverseitige Formular-Tag in Usercontrol hinzufügen?

Danke, Afshin

Antwort

2

Mit "UserControl" nehme ich an, dass Sie sich auf eine Teilansicht beziehen. Eine der Steuerelemente, die Sie in Ihrer Teilansicht verwenden, ist ein ASP.NET-Steuerelement für Webformulare. Sie können ein Steuerelement nicht verwenden, das ein Postback erfordert. Keine MVC-Ansicht sollte ein Formular runat = Server-Tag erfordern. Wenn die Steuerung Sie verwenden nicht versuchen, für den Einsatz in einer MVC-Umgebung entwickelt wird, sollten Sie zum Erstellen einer Route mit Webformular Routing (System.Web.Routing) für diese Seite speziell:

http://msdn.microsoft.com/en-us/library/cc668202(v=vs.90).aspx

können Sie Ändern Sie den RouteHandler-Konstruktor so, dass er ein Objekt akzeptiert, das Sie mit den erforderlichen Daten gefüllt haben. Das ViewData-Wörterbuch ist in diesem Kontext nicht verfügbar.

1

Sie brauchen nicht den form-Tag in der Benutzersteuerung.

Stellen Sie sicher, dass die resultierende Seite, auf der das Benutzersteuerelement platziert wird, über ein form-Tag verfügt, das das Benutzersteuerelement umgibt.

Das Tag form könnte auf der ASPX-Seite oder der Masterseite der ASPX-Seite platziert werden.

+0

Wie ich in meiner Frage sage, ich habe bereits eine Server-Seite Formular-Tag hinzugefügt, aber immer noch bekomme ich Fehlermeldung ... –

Verwandte Themen