1

我正在制作一个使用 asp.net 将信息发送到 mysql 服务器的网站。代码。我遇到的问题是,当我调试代码并启动页面时,出现以下错误:

在此处输入图像描述

我不知道为什么,我有这个错误。这是我的代码:

默认.aspx

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master"                 AutoEventWireup="true"
        CodeFile="Default.aspx.cs" Inherits="_Default"%>  
      <asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    <form id="form1" runat="server">
    <div>
    <table width="300px" >
    <tr>
    <td>First Name</td>
    <td>
        <asp:TextBox ID="txtFirstName" runat="server"></asp:TextBox>
        </td>
    </tr>
        <tr>
    <td >Last Name</td>
    <td>
        <asp:TextBox ID="txtLastName" runat="server"></asp:TextBox>
            </td>
    </tr>
        <tr>
    <td>User Name</td>
    <td>
        <asp:TextBox ID="txtUserName" runat="server"></asp:TextBox>
            </td>
    </tr>
        <tr>
    <td>Password</td>
    <td>
        <asp:TextBox ID="txtPassword" runat="server"></asp:TextBox>
            </td>
    </tr>
        <tr>
    <td>Email Address</td>
    <td>
        <asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>
            </td>
    </tr>
        <tr>
    <td>&nbsp;</td>
    <td>
        <asp:Button ID="btnSave" runat="server" Text="Save" onclick="btnSave_Click" />
            </td>
    </tr>
        <tr>
    <td>&nbsp;</td>
    <td>
        <asp:Label ID="lblError" runat="server" Text=""></asp:Label>
            </td>
    </tr>
    </table>
    </div>
    </form>
    </asp:Content ID="Content1" runat="server" ContentPlaceHolderID="MainContent">

默认.aspx.cs

    public partial class _Default : System.Web.UI.Page
    {
protected void Page_Load(object sender, EventArgs e)
{

}
protected void btnSave_Click(object sender, EventArgs e)
{
    try
    {

        string cnnString = "Server=localhost;Port=1111;Database=ci_series;Uid=asdfasdf;Pwd=*******";


        MySqlConnection connection = new MySqlConnection(cnnString);


        string cmdText = "INSERT INTO membership (first_name ,last_name ,username ,password ,";
        cmdText += "email_address)VALUES (first_name ,last_name ,username ,password ,email_address);";

        MySqlCommand cmd = new MySqlCommand(cmdText, connection);


        cmd.CommandType = CommandType.Text;
        cmd.Parameters.Add("?first_name", MySqlDbType.VarChar).Value = txtFirstName.Text;
        cmd.Parameters.Add("?last_name", MySqlDbType.VarChar).Value = txtLastName.Text;
        cmd.Parameters.Add("?username", MySqlDbType.VarChar).Value = txtUserName.Text;
        cmd.Parameters.Add("?password", MySqlDbType.VarChar).Value = txtPassword.Text;
        cmd.Parameters.Add("?email_address", MySqlDbType.VarChar).Value = txtEmail.Text;

        connection.Open();

        int result = cmd.ExecuteNonQuery();

        lblError.Text = "Data Saved";

    }
    catch (Exception ex)
    {
        lblError.Text = ex.Message;
    }
}
    }

我该如何解决?“在当前上下文中不存在”是什么意思?提前致谢!

4

6 回答 6

4

1) 确保 runat="server" 在您的母版页上的 html 标记上。

2) 有时您会因为程序集缓存问题而出现此错误,因为 VS 对实际需要重新编译的内容感到困惑。-- 我只是删除缓存项并正常重新编译,认为不止1件事可能是错误的

于 2013-08-23T19:08:58.523 回答
2

你有2个问题

  1. </asp:Content> instead </asp:Content ID="Content1" runat="server" ContentPlaceHolderID="MainContent">. 它已经发表了来自 piLHa 的评论

  2. 您不需要 form tag在内容页面中。已在form tag中定义master page,因此请form tag在您的内容页面中删除 。

于 2013-08-23T19:05:32.253 回答
2

将旧的 VS2005 aspx/aspx.cs 文件放入 VS2013 中的新项目时,我遇到了类似的问题。我通过创建一个新的 Web 应用程序、为每个 aspx 页面创建一个新的 Web 表单并复制 .aspx 和 .cs 的代码来解决这个问题。复制后,我必须更改 .cs 文件的第一行以使用CodeBehind 而不是 CodeFile

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Login.aspx.cs" Inherits="_Login" %>

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="_Login" %>

我希望这对其他人有帮助。

于 2014-01-09T00:45:58.607 回答
0

在@page标签中替换下面的.aspx页面代码

替换这个:<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test.aspx.cs" Inherits="Namespace.Test" %>

替换为:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="~/Test.aspx.cs" CodeBehind="Test.aspx.cs" Inherits="Namespace.Test" %>

于 2016-12-30T10:45:15.323 回答
0

我在用 c# aspx 编码时遇到了同样的问题,我想出这样的:

我错误地从我的 XXX.aspx 文件中删除了这个Inherits=" project_name.ClassName ",这是我的 XXX.aspx 文件中的第一行。然后当我首先将Inherits=" project_name.ClassName "添加到我的 XXX.aspx 中时行到我的文件,然后它解决了我的问题。您应该控制 XXX.aspx 文件中的第一行,您可能会错误地删除Inherits=" project_name.ClassName " ....

我希望你能找出这个答案的问题。

祝你好运

于 2016-05-23T20:15:32.163 回答
-1

右键单击“WebApplication”

图片

并单击“转换为 Web 应用程序” 图片

于 2016-01-06T13:45:04.660 回答