首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

初学.NET为啥代码写在<script>之间就行,写在后台cs文件就报错了呢

2012-12-15 
初学.NET为何代码写在script之间就行,写在后台cs文件就报错了呢%@ Page LanguageC# AutoEventWireup

初学.NET为何代码写在<script>之间就行,写在后台cs文件就报错了呢

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="test.aspx.cs" Inherits="WebApplication2.test"%> 
<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.Data" %>
<script runat="server">
    void Page_Load(Object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            SqlConnection conn = new SqlConnection();
            conn.ConnectionString = "Data Source=(local);Initial Catalog=yaofang;User ID=sa;Password=123";
            SqlDataAdapter da = new SqlDataAdapter("select * from Table1", conn);
            DataSet ds = new DataSet();
            da.Fill(ds);
            DataList1.DataSource = ds;
            DataList1.DataBind();
        }

    }
    void DataList1_ItemCommand(object s, DataListCommandEventArgs e)
    {
        lblMessage.Text = "触发ItemCommand";
    }

    void DataList1_EditCommand(object s, DataListCommandEventArgs e)
    {
        lblMessage.Text = "触发EditCommand";
    }

    void DataList1_DeleteCommand(object s, DataListCommandEventArgs e)
    {
        lblMessage.Text = "触发DeleteCommand";
    }
    void DataList1_UpdateCommand(object s, DataListCommandEventArgs e)
    {
        lblMessage.Text = "触发UpdateCommand";
    } 
</script>
<html> 
<head><title></title></head> 
<body> 
<form id="Form1" Runat="server"> 
<asp:Label ID="lblMessage" BackColor="yellow" Runat="Server" /> 

<asp:DataList ID="DataList1" OnItemCommand="DataList1_ItemCommand" OnEditCommand="DataList1_EditCommand" OnDeleteCommand="DataList1_DeleteCommand" OnUpdateCommand="DataList1_UpdateCommand" 
GridLines="Both" CellPadding="4" Runat="Server"> 
<ItemTemplate><%#Eval("bookname")%> 
<asp:LinkButton ID="LinkButton1" Text="编辑" CommandName="edit" Runat="Server"/> 
<asp:LinkButton ID="LinkButton2" Text="删除" CommandName="delete" Runat="Server"/> 
<asp:LinkButton ID="LinkButton3" Text="更改" CommandName="update" Runat="Server"/> 
</ItemTemplate> 

</asp:DataList> 
</form> 
</body> 
</html>


前后台分开写就报错了

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


<%@ Import Namespace="System.Data.SqlClient" %>
<html> 
<head><title></title></head> 
<body> 
<form id="Form1" Runat="server"> 
<asp:Label ID="lblMessage" BackColor="yellow" Runat="Server" /> 
<asp:DataList ID="DataList1" OnItemCommand="DataList1_ItemCommand" OnEditCommand="DataList1_EditCommand" OnDeleteCommand="DataList1_DeleteCommand" OnUpdateCommand="DataList1_UpdateCommand" 
GridLines="Both" CellPadding="4" Runat="Server"> 
<ItemTemplate><%#Eval("bookname")%> 
<asp:LinkButton ID="LinkButton1" Text="编辑" CommandName="edit" Runat="Server"/> 
<asp:LinkButton ID="LinkButton2" Text="删除" CommandName="delete" Runat="Server"/> 
<asp:LinkButton ID="LinkButton3" Text="更改" CommandName="update" Runat="Server"/> 
</ItemTemplate> 

</asp:DataList> 
</form> 
</body> 
</html> 


后台

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Web.Configuration;
using System.Security;
using System.Collections;
using System.Data.SqlClient;
using System.Data;
namespace WebApplication2
{
    public partial class test : System.Web.UI.Page
    {

        void Page_Load(Object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                SqlConnection conn = new SqlConnection();
                conn.ConnectionString = "Data Source=(local);Initial Catalog=yaofang;User ID=sa;Password=123";
                SqlDataAdapter da = new SqlDataAdapter("select * from Table1", conn);
                DataSet ds = new DataSet();
                da.Fill(ds);
                DataList1.DataSource = ds;
                DataList1.DataBind();
            }

        }
        void DataList1_ItemCommand(object s, DataListCommandEventArgs e)
        {
            lblMessage.Text = "触发ItemCommand";
        }



        void DataList1_EditCommand(object s, DataListCommandEventArgs e)
        {


            lblMessage.Text = "触发EditCommand";
        }

        void DataList1_DeleteCommand(object s, DataListCommandEventArgs e)
        {
            lblMessage.Text = "触发DeleteCommand";
        }
        void DataList1_UpdateCommand(object s, DataListCommandEventArgs e)
        {
            lblMessage.Text = "触发UpdateCommand";
        } 

    }
}




编译错误

说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 

编译器错误消息: CS1061: “ASP.test_aspx”不包含“DataList1_ItemCommand”的定义,并且找不到可接受类型为“ASP.test_aspx”的第一个参数的扩展方法“DataList1_ItemCommand”(是否缺少 using 指令或程序集引用?)

源错误:


行 6:  <form id="Form1" Runat="server"> 
行 7:  <asp:Label ID="lblMessage" BackColor="yellow" Runat="Server" /> 
行 8:  <asp:DataList ID="DataList1" OnItemCommand="DataList1_ItemCommand" OnEditCommand="DataList1_EditCommand" OnDeleteCommand="DataList1_DeleteCommand" OnUpdateCommand="DataList1_UpdateCommand" 
行 9:  GridLines="Both" CellPadding="4" Runat="Server"> 
行 10: <ItemTemplate><%#Eval("bookname")%> 


这是为什么呢?
[最优解释]
缺少引用。。
[其他解释]
OnItemCommand="DataList1_ItemCommand" OnEditCommand="DataList1_EditCommand" OnDeleteCommand="DataList1_DeleteCommand" OnUpdateCommand="DataList1_UpdateCommand"  把这些事件删除了。
然后右键DataList1在选择上。
[其他解释]
<%@ Import Namespace="System.Data.SqlClient" %>前台这个删除试试。
[其他解释]
引用:
缺少引用。。
缺少什么引用呢
[其他解释]
引用:
OnItemCommand="DataList1_ItemCommand" OnEditCommand="DataList1_EditCommand" OnDeleteCommand="DataList1_DeleteCommand" OnUpdateCommand="DataList1_UpdateCommand"  把这些事件删除了。
然后右键DataList1在选择上。

大哥你好 我按你说的作了 只不过属性名都自动变成小写了 错误依旧
[其他解释]
原来是我的方法没加public 结贴走人

热点排行