“”在目前的背景下不存在?

时间:2013-08-23 18:55:37

标签: asp.net sql-server

我正在创建一个使用asp.net将信息发送到mysql服务器的网站。码。我遇到的问题是,当我调试代码并启动页面时,我收到这些错误:

enter image description here

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

Default.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">

Default.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;
    }
}
    }

我该如何解决这个问题? “当前背景下不存在”是什么意思?提前谢谢!

6 个答案:

答案 0 :(得分:4)

1)确保runat =“server”在主页上的html标签上。

2)有时你会因为和汇编缓存问题而得到这个错误,因为VS对实际需要重新编译的内容感到困惑。 - 我只是删除缓存项并正常重新编译,认为不止一件事可能是错误的

答案 1 :(得分:2)

你有2个问题

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

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

答案 2 :(得分:2)

在将旧的VS2005 aspx / aspx.cs文件放入VS2013中的新项目时,我遇到了类似的问题。我通过创建一个新的Web应用程序,为每个aspx页面创建一个新的webform并复制.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" %>

我希望这有助于其他人。

答案 3 :(得分:0)

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

我错误地从我的XXX.aspx文件中删除了 Inherits =&#34; project_name.ClassName &#34; ,这是我XXX.aspx中的第一行文件..然后当我将继承=&#34; project_name.ClassName &#34; 这段代码添加到我的XXX.aspx第一行到我的文件然后呢解决了我的问题。您应该控制XXX.aspx文件中的第一行,您可以错误地删除继承=&#34; project_name.ClassName &#34; .... / p>

我希望你能找到答案的问题。

祝你好运

答案 4 :(得分:0)

在@page标记

中替换.aspx页面的以下代码

替换它:&lt;%@ Page Language =“C#”AutoEventWireup =“true”CodeBehind =“Test.aspx.cs”Inherits =“Namespace.Test”%&gt;

替换为:&lt;%@ Page Language =“C#”AutoEventWireup =“true”CodeFile =“〜/ Test.aspx.cs”CodeBehind =“Test.aspx.cs”Inherits =“Namespace.Test”%&gt ;

答案 5 :(得分:-1)

右键单击“WebApplication”

Image

并点击“转换为Web应用程序” Image