读书人

初学.NET为啥代码写在lt;scriptgt;之间就行

发布时间: 2012-12-15 15:16:03 作者: rapoo

初学.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 结贴走人

读书人网 >C#

热点推荐