2016-06-18 1 views
0

Ich habe ein Asp.Net-WebForms-Projekt in Visual Studios 2015 mit der WebForms-Vorlage gestartet. Allerdings möchte ich nun die MasterPage vom Standard (~/Site.Master) zu einer Masterseite ändern, die ich aus einer heruntergeladenen Bootstrap-Vorlage erstellt habe.Laufzeitfehler beim Versuch, die Masterseite für die Login.aspx-Seite zu ändern, die standardmäßig mit der Asp.Net-WebForms-Vorlage angegeben wird

Die heruntergeladene Vorlage Werke finden nur auf den Webforms Seiten, die ich erstellt, aber ich bekomme diese Fehlermeldung, wenn ich es mit der Login-Seite zu verwenden versuchen:

Zusätzliche Informationen: Control ‚E-Mail‘ vom Typ ‚TextBox‘ Muss in einem Formular-Tag mit runat = Server platziert werden.

Ich habe versucht, eine neue Seite ohne Verwendung der Masterseite zu erstellen, und ich bekomme weiterhin den Fehler. Das erste, was ich überprüft habe, war das Lehrbuch für die E-Mail, aber es hat runat = "server". Hier ist ein Ausschnitt des Codes:

<div class="form-group" runat="server"> 
    <asp:Label runat="server" AssociatedControlID="Email" CssClass="col-md-2 control-label">Email</asp:Label> 
    <div class="col-md-10"> 
      <asp:TextBox runat="server" ID="Email" CssClass="form-control" TextMode="Email" /> 
      <asp:RequiredFieldValidator runat="server" ControlToValidate="Email" CssClass="text-danger" ErrorMessage="The email field is required." /> 
    </div> 
</div> 

Jede Hilfe wäre sehr geschätzt. Ich habe bereits ein paar Fragen überprüft, aber die meisten beschäftigen sich damit, die MasterPage im Code dynamisch zu ändern (übrigens, das ist nicht die Lösung, nach der ich suche). Vielen Dank.

Antwort

1

Wie der Fehler sagt, sollten Sie Ihre Steuerung in einem ContentPlaceHolder Element platzieren. Siehe MSDN-Dokumentation für gleiche https://msdn.microsoft.com/en-us/library/wtxbf3hh.aspx

In der Masterseite Ihr ein contentplaceholder wie

<asp:contentplaceholder id="cp1" runat="server"> 
    </asp:contentplaceholder> 

In Ihrer Login Seite umfassen Masterseite einschließlich MasterPageFile Eigenschaft haben

<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" ... 

<asp:Content ID="Content1" ContentPlaceHolderID="cp1" Runat="Server"> 
<asp:TextBox runat="server" ID="Email" CssClass="form-control" TextMode="Email" /> 
</asp:Content> 
+0

Ihr angegebener Grund für den Fehler ist falsch, aber Ihr Link gab mir die richtige Antwort. Das liegt daran, dass ich versuche, ein Thema auf die MasterPage anzuwenden. Vielen Dank! –

+0

@ Ms.Whitney, das ist vielleicht nicht klar aus Ihrem Beitrag, aber die Antwort folgt Ihrer posted Fehlererklärung. – Rahul

+0

Verstanden. Noch einmal Danke. –

0

ich die Antwort von this link gefunden haben was sagt:

* Master Seiten und Designs

Sie können ein ASP.NET-Design nicht direkt auf eine Masterseite anwenden. Wenn Sie der @ Master-Direktive ein Designattribut hinzufügen, wird bei der Ausführung der Seite ein Fehler angezeigt. Themen werden jedoch unter diesen Umständen auf Masterseiten angewendet: Wenn ein Thema auf der Inhaltsseite definiert ist. Masterseiten werden im Kontext von Inhaltsseiten aufgelöst, sodass das Theme der Inhaltsseite auch auf die Masterseite angewendet wird. Wenn die Website als Ganzes für die Verwendung eines Designs konfiguriert ist, indem eine Themendefinition in das Element "Elements" (ASP.NET-Einstellungsschema) eingefügt wird. Weitere Informationen finden Sie unter ASP.NET-Designs und Skins. *

Verwandte Themen