试图解释ASP.Net错误

时间:2011-12-13 19:58:59

标签: c# asp.net

所以我把我的代码放在这样:

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
    CodeFile="Default.aspx.cs" Inherits="_Default" %>

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">

<%
    using System.Data.SqlClient
        public Static Main {
connection = new SqlConnection();

connection.ConnectionString = "Data Source=localhost:8080;Initial Catalog=dbo.Table1;";
connection.Open();

dataadapter = new SqlDataAdapter("select * from customers", connection);
        }
%>

    <h2>This is a test for a database connection</h2> <%Response.Write(dataadapter) %>

</asp:Content>

我收到以下错误消息:

Source Error:

Line 6:  using System.Web.UI.WebControls;
Line 7:  
Line 8:  public partial class _Default : System.Web.UI.Page
Line 9:  {
Line 10:     protected void Page_Load(object sender, EventArgs e)

我唯一可以解决的是我可能错误地输入了一些代码?这个错误对我来说非常不透明。

我的语法有问题吗?

3 个答案:

答案 0 :(得分:1)

以下几行真的没有意义:

public Static Main

这是一堂课吗?接口?

即使您将其更改为静态类,也可以在不声明变量的情况下使用变量,并尝试在任何方法体外执行代码。

您希望该代码块到底做什么?

答案 1 :(得分:1)

在你离开基础设施之前,请快速浏览一下这篇文章:

http://www.dotnetperls.com/sqldataadapter

您的实施缺失了一些非常基本的东西。本文很好地解释了使用SqlDataAdapter连接和查询数据库的要点。

答案 2 :(得分:1)

将您的代码从页面中移出以测试连接,并将其放在代码隐藏文件中的Page_Load事件中。

远离页面中的内联代码,直到您完全理解它为止。

尝试这样的事情

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
    CodeFile="Default.aspx.cs" Inherits="_Default" %>

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">

    <asp:label id = "lblLabel" runat="server"/>

</asp:Content>

在您的代码后面又名“the defaul.aspx.cs文件中尝试以下

using System.Data.SqlClient;

public partial class Default: System.Web.UI.Page
{

    protected void Page_Load(object sender, EventArgs e)
    {
        connection = new SqlConnection();

        connection.ConnectionString = "Data Source=localhost:8080;Initial Catalog=dbo.Table1;";
connection.Open();

         dataadapter = new SqlDataAdapter("select * from customers", connection);

         lblLabel.Text = //something

     }
}

每次将页面发回服务器并重新加载到浏览器中时,都会运行Page_Load方法。它的功能类似于Winforms或Console应用程序中的Main()方法。 (.cs)文件后面的代码通常包含大部分功能,而.aspx文件包含您的设计。它可以包含逻辑,但当你混合两个世界时,它会变成一个全新的不同动物。在熟悉混音风格之前,先了解基础知识。

我编码的只是一个样本。有关sqlDataAdapter的更深入描述,请参阅MSDN上的这篇文章。

sqlDataAdapter Article