ASP Textfelder existieren nicht im Kontext der Codebehind-Datei

Bin ich zu schreiben versucht, eine grundlegende ASP.NET form (mit Visual Studio 2010) zu unterbreiten zahlen in einer Datenbank. Denn dies ist eine sehr frühe Versuch für mich zu nutzen ASP.NET ich schrieb es sehr einfach auf den ersten, und jetzt versuche ich, um die restlichen Funktionen. Ursprünglich war alles inline-code. Jetzt versuche ich es wechseln die Verwendung einer codebehind-Seite, aber ich kann es nicht beheben, die Namen meiner Textfelder aus, die in meiner codebehind-Datei. Ich baute diese Seiten während einige tutorials, und haben mehrere andere Quellen, um zu versuchen, dieses Problem zu beheben, aber alles, was ich bisher gesehen habe, scheint zu zeigen, dass ich es alles für eine codebehind, doch es funktioniert nicht. VS gibt Fehler beim kompilieren unter Angabe der textbox Namen nicht in den aktuellen Kontext. Wenn ich entfernen Sie alle Referenzen auf die Textfelder, die Seite funktioniert und mein button-event feuert. Für grins ich Verweise Hinzugefügt, um die Textfelder, die in der codebehind, wie so protected TextBox XcoordTextbox; (wie ich glaube, Sie würden in ASP.NET 1.0), aber dann bekomme ich eine runtime error CS0102: The type 'ManualEntry.default_aspx' already contains a definition for 'XcoordTextbox'
Nachstehend sind die wichtigsten Teile von meinem code. Können Sie erklären, warum dies nicht funktioniert?

ASPX-Datei

<%@ Page    Language="C#" CodeFile="default.aspx.cs" Inherits="ManualEntry.default_aspx" AutoEventWireup="true" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server"></head>
<body>
    <form id="HtmlForm" runat="server">
        <div>
            X Coord&nbsp;
            <asp:TextBox ID="XcoordTextbox" runat="server"></asp:TextBox>
            <br />
            Y Coord&nbsp;
            <asp:TextBox ID="YcoordTextbox" runat="server"></asp:TextBox>
            <asp:Button ID="SubmitButton" runat="server" onclick="SubmitButton_Click" Text="Submit" />
        </div>
    </form>
</body>
</html>

Codebehind-Datei

using System;
using System.Web.UI;

namespace ManualEntry
{
    public partial class default_aspx : Page
    {
        protected void SubmitButton_Click(object sender, EventArgs e)
        {
            var Xcoord = XcoordTextbox.Text;
            var Ycoord = YcoordTextbox.Text;
            //More Code Here
        }
    }
}
Schlimmsten Fall, Sie sollten in der Lage sein zu tun this.FindControl("XcoordTextbox") as TextBox finden Sie Ihre Kontrollen.
Haben Sie versuchen, die Reinigung Ihres Projekts? (Rechtsklick auf das Projekt im Projektmappen-Explorer und wählen Sie Clean)
Ich habe versucht, es zu Reinigen, aber es scheint keinen Einfluss auf irgendetwas.
was ist der cs-Datei name der default_aspx Klasse? ist es Standard.aspx.cs?
Ja. Die Dateinamen sind Standard.aspx für die Seite und Standard.aspx.cs für die codebehind. Der name der Klasse sollte irrelevant sein, solange es passt den Inherits Eigenschaft auf der ASPX-Seite, richtig?

InformationsquelleAutor techturtle | 2012-05-15

Schreibe einen Kommentar