it-swarm.com.de

Muss innerhalb eines Formularkennzeichens mit runat = server platziert werden

Ich habe es den ganzen Morgen ohne Erfolg versucht. Ich kann nicht herausfinden, was ich falsch mache. Ich habe die beiden Links (unter vielen anderen nicht hilfreichen Links) überprüft und muss mein Problem noch lösen. Dies ist ein WebUserControl ...

Folgende Fehlermeldung wird angezeigt: Das Steuerelement 'HeadContent_CareersViewPosting_txtFirstName' vom Typ 'TextBox' muss innerhalb eines Formulartags mit runat = server platziert werden.

Bereits die Vorschläge hier , hier und hier und keine Ergebnisse versucht. Ich habe immer noch genau dieselbe Nachricht erhalten. Einige neue Vorschläge wären sehr dankbar!

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Careers View Posting.ascx.cs" Inherits="ascxStagingApplication.Careers.Careers_View_Posting" %>
<asp:Panel ID="pnlResume" runat="server">
    <table ID="tblMain" runat="server">
        <tr>
            <td>
                <asp:Label ID="lblFirstName" runat="server" Text="* First Name"></asp:Label>
            </td>
            <td>
                <asp:TextBox ID="txtFirstName" runat="server"></asp:TextBox>
            </td>
        </tr>
        <tr>
            <td>
                <asp:Label ID="lblLastName" runat="server" Text="* Last Name"></asp:Label>
            </td>
            <td>
                <asp:TextBox ID="txtLastName" runat="server"></asp:TextBox>
            </td>
        </tr>
        <tr>
            <td>
                <asp:Label ID="lblEmail" runat="server" Text="* Email"></asp:Label>
            </td>
            <td>
                <asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>
            </td>

        </tr>
        <tr>
            <td>
                <asp:Label ID="lblResume" runat="server" Text="* Resume"></asp:Label>
            </td>
            <td>
                <asp:FileUpload ID="fupResume" runat="server" />
            </td>
        </tr>
        <tr>
            <td>
                <asp:Button ID="btnSubmit" runat="server" Text="Submit"/>
            </td>
        </tr>
    </table>
</asp:Panel>

Das Benutzersteuerelement wird derzeit zum Testen auf eine Dummy-Webseite platziert. Hier ist der "Dummy" -Seitencode.

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Page Careers View Posting.aspx.cs" Inherits="ascxStagingApplication.Careers.Page_Careers_View_Posting" %>

<%@ Register Src="~/Careers/Careers View Posting.ascx" TagPrefix="uc1" TagName="CareersViewPosting" %>

<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
    <uc1:CareersViewPosting runat="server" id="CareersViewPosting" />
</asp:Content>
11
Volearix

In ASPNet-Webformularen muss alles innerhalb eines Formular-Tags ausgeführt werden.

Alle Serversteuerelemente müssen innerhalb eines <form>-Tags angezeigt werden, und das <form>-Tag muss das runat="server"-Attribut enthalten. Das runat="server"-Attribut gibt an, dass das Formular auf dem Server verarbeitet werden soll. Es zeigt auch an, dass auf die eingeschlossenen Steuerelemente von Serverscripts zugegriffen werden kann:

<form runat="server">

...HTML + server controls

</form>

Versuchen Sie auf Ihrer Dummy-Seite Folgendes, damit die Serversteuerelemente ausgeführt werden können.

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Page Careers View Posting.aspx.cs" Inherits="ascxStagingApplication.Careers.Page_Careers_View_Posting" %>

<%@ Register Src="~/Careers/Careers View Posting.ascx" TagPrefix="uc1" TagName="CareersViewPosting" %>
<form runat="server">
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
    <uc1:CareersViewPosting runat="server" id="CareersViewPosting" />
</asp:Content>
</form>

Überprüfen Sie auch, ob Ihre ~/Site.Master-Datei den <form runat="server"> enthält. Wenn nicht -a s, ist es ziemlich typisch, dass dies der Ort ist, an dem sich Ihr allumfassendes Form-Tag befindet.

Sie können mehr hier lesen: http://www.w3schools.com/aspnet/aspnet_forms.asp

13
Martin Brown

Wenn Sie Runat = "Server" richtig stellen und trotzdem einen Fehler anzeigen, versuchen Sie es mit diesem Code.

 public override void VerifyRenderingInServerForm(Control control)
    {
         /* Confirms that an HtmlForm control is rendered for the specified ASP.NET
       server control at run time. */
    }

cr. von Rohit Rao 

entschuldigung für meine schlechten Englischkenntnisse.

1
Mitr Raiputta

Alle Serversteuerelemente müssen innerhalb eines <form>-Tags angezeigt werden, und das <form>-Tag muss das runat="server"-Attribut enthalten.

Alle Asp.net-Steuerelemente sind Serversteuerelemente. Diese sollten also mit dem runat="server"-Attribut innerhalb des Formular-Tags platziert werden

<form runat="server">

place server controls here...

</form>
0
Rae Lee