十天学会ASP.NET之后五天

来源:互联网 发布:gaia 数据 编辑:程序博客网 时间:2024/05/01 13:52

十天学会ASP.NET第六天

学习目的:学会读取数据库

有的网友说,不会C#,在ASP.NET里面还是选择VB.NET,这个我不反对,但是我觉得既然是学习新的东西,就不要在意有多少是新的。实际上C#就一般的操作来说,只是区分大小写和多了一个分号这两点与VB.NET不同其他都差不多啊。在ASP里面我们读取数据就直接用RECORDSET,然后在HTML代码里面穿插<%= %>就可以显示了,但是ASP.NET讲究的是代码分离,如果还是这样显示数据就不能代码分离了。所以我们有两种方法:如果是读取一条记录的数据或者不多的数据,我们用DATAREADER采集数据,然后赋值给LABEL控件的Text属性即可;如果是读取大量数据我们就采用DATAGRID


今天我们就来说一下DATAREADER


string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source=";
strConnection+=Server.MapPath(strDb);
OleDbConnection objConnection=new OleDbConnection(strConnection);
OleDbCommand objCommand = new OleDbCommand("
这里是SQL语句
" , objConnection);
objConnection.Open();
OleDbDataReader objDataReader=objCommand.ExecuteReader();
if(objDataReader.Read())
{
oicq.Text=Convert.ToString(objDataReader["useroicq"]);
homesite.Text=Convert.ToString(objDataReader["usersite"]);
face.SelectedItem.Text=Convert.ToString(objDataReader["userface"]);
}

大家可以看到我们首先是连接数据库然后打开,对于select的命令,我们申明一个OleDbCommand来执行之,然后再申明一个OleDbDataReader,来读取数据,用的是ExecuteReader() objDataReader.Read() 就开始读取了,在输出的时候我们要注意Text属性接受的只能是字符串,所以我们要把读出的数据都转化为字符串才行。

转换变量类型函数:

转换为字符串:
Convert.ToString()
转换为数字:Convert.ToInt64()Convert.ToInt32()Convert.ToInt16() 是按照数字位数由长到短

转换为日期:Convert.ToDateTime()

dim objConnection as OleDbConnection
dim objCommand as OleDbCommand
dim objDataReader as OleDbDataReader
objConnection=new OleDbConnection(Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath(strDb))
objCommand=new OleDbCommand("
这里是SQL语句
" , objConnection)
objConnection.Open()
objDataReader=objCommand.ExecuteReader()
if objDataReader.Read()
oicq.Text=Convert.ToString(objDataReader["useroicq"])
homesite.Text=Convert.ToString(objDataReader["usersite"])
face.SelectedItem.Text=Convert.ToString(objDataReader["userface"])
end if

其实大家比较一下C#VB的语法,会发觉用C#似乎更加简单,教程里面我侧重C#,对于VB的代码我就不解释了。

下面说一下如果代码是读取SQL数据库,我们这样来转变

1
、把代码开始的

<%@Import Namespace="System.Data"%>
<%@Import Namespace="System.Data.OleDb"%>
修改为

<%@Import Namespace="System.Data"%>
<%@Import Namespace="System.Data.SqlClient"%>
2
、把代码里面所有申明的对象OleDb××变为Sql××就这么简单

你甚至可以用替换所有来解决,所以今后我讲不再列出Sql Server的代码了。

今天就说到这里,明天开始说数据的添加、删除、修改。

十天学会ASP.NET第七天:

学习目的:学会添加删除修改记录

以前我们在ASP中不管是添加还是删除记录或者用SQL语句加上EXECUTE()或者就是直接用RECORDSETNEWDELETEUPDATE等方法来添加删除修改记录。在ASP.NET里面我们采用SQL语句加上COMMAND对象来执行SQL语句的方法来添加删除修改记录。这比上次说的读取记录还简单。实际上只有一点区别,把ExecuteReader()修改为ExecuteNonQuery()即可,因为我们不需要返回值啊。
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source=";
strConnection+=Server.MapPath(strDb);
OleDbConnection objConnection=new OleDbConnection(strConnection);
OleDbCommand objCommand = new OleDbCommand("
这里是SQL语句" , objConnection);
objConnection.Open();
OleDbDataReader objDataReader=objCommand.ExecuteNonQuery();

dim objConnection as OleDbConnection
dim objCommand as OleDbCommand
objConnection=new OleDbConnection(Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath(strDb))
objCommand=new OleDbCommand("
这里是SQL语句" , objConnection)
objConnection.Open()
objDataReader=objCommand.ExecuteNoQuery()

下面再举例子说明一下SQL语句(ACCESS):
添加记录: insert int

o 表名 (字段1,字段2) values (字符串1,字符串2) where 条件
删除记录: delete from 表名 where 条件
修改记录: update 表名 set 字段1=××,字段2=×× where 条件

需要特别注意,如果是Sql Server删除记录是delete 表名,不需要再加from了。

今天就说到这里了,明天说ASP.NET里面最著名的DATAGRID

十天学会ASP.NET第八天:

学习目的:初步掌握DATAGRID的使用

以前在ASP中,我们显示大批量数据经常使用循环读取记录集的方式,在表格中插入代码来显示,循环的是<tr>,如果是分页还需要自己制作,如果排序更加复杂,在ASP.NET中就好了,一切工作都可以让DATAGRID来做。

首先看一下DATAGRID的样式方面的属性
BackImageUrl=""
背景图片
CellSpacing=""
单元格间距
CellPadding=""
单元格填充
cssClass=""
使用的CSS样式

DATAGRID
可以自动用表中的字段名放在显示的记录的头部来表示各个单元格所代表的意义,用ShowHeader="true/false"来控制是不是显示,在大多数情况下我们是不需要这个功能的,因为我们数据库中的字段名大多是英文的,而我们想在页面输出的大多是中文名字。

下面看一下显示数据库内所有记录,就几行代码:


<script runat="server" language="c#">
void Page_Load()
{
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source=";
strConnection+=Server.MapPath("guestbook.mdb");
OleDbConnection objConnection=new OleDbConnection(strConnection);
OleDbCommand objCommand1 = new OleDbCommand("select * from guestbook",objConnection);
objConnection.Open();
dgrdMain.DataSource=objCommand1.ExecuteReader();//dgrdMain
就是下面的DATAGRIDID
dgrdMain.DataBind();
objConnection.Close();
}
</script>
<html>
<body>
<asp:DataGrid
id="dgrdMain"
cellpadding="1"
showheader="true"
borderwidth="0"
runat="server"
/>
</body>
</html>

至于VB的版本,这次大家自己来试试吧:)

假设数据库是三个字段:id,aa,bb
显示的样子就如下:

id

aa

bb

1

werwe

rewrwe

2

werwe

rewrwe



我们一定觉得这种显示不满意,我们有两种显示的方式(需要包括在<columns></columns>中间):

一、默认的列,我们可以选择不输出所有的字段还可以安排顺序:
<asp:BoundColumn DataField="
想要显示的字段名">
比如说我们想按照bb,aa来输出这个表,我们这么写

<asp:DataGrid
id="dgrdMain"
cellpadding="1"
showheader="true"
autogeneratecolumns="false"
borderwidth="0"
runat="server">
<columns>
<asp:boundcolumn datafield="bb"/>
<asp:boundcolumn datafield="bb"/>
</columns>
</asp:datagrid>

注意使用了 autogeneratecolumns="false" 以后DATAGRID就不会自动输出所有字段了。

二、以模板列,我们可以定制每一个单元格的样式:
<asp:TemplateColumn>
<itemTemplate>
中间是一个表格,想怎么样就怎么样
</itemTemplate>
</asp:DataGrid>
或许你们要说怎么在表格中输出代码那,可以使用<%# DataBinder.Eval(Container.DataItem,"字段名").ToString()%>
下面看一个例子,我们所要做的就是把aa,bb两个字段放在一个单元格内显示,就好像下面一样:

1

werwe
rewrwe

2

werwe
rewrwe


我们这样写代码:
<asp:DataGrid
id="dgrdMain"
cellpadding="1"
showheader="false"
autogeneratecolumns="false"
borderwidth="0"
runat="server">
<columns>
<asp:boundcolumn datafield="ii"/>
首先使用默认的显示方式显示ID
<asp:TemplateColumn>
再使用模板来显示后面一列(由AA,BB并列组成)
<itemTemplate>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td><%# Container.DataItem("aa")%></td>
</tr>
<tr>
<td><%# Container.DataItem("bb")%></td>
</tr>
</table>
</itemTemplate>
</asp:DataGrid>
</columns>
</asp:datagrid>

今天就说到这里,明天我们来看一下DATAGRID的分页显示等功能

十天学会ASP.NET第九天:

学习目的:学会用DATAGRID分页显示

虽然说DATAGRID的分页显示效率不怎么高,但是不管怎么说,它是最方便的分页显示,对于做一个留言簿还是相当简单实用的。对于启用分页功能还有一个重要要求,只能在DATADRID控件的数据源实现了ICOLLECTION接口的情况下才能启用分页功能,而DATAREADER没有这个接口,所以必须使用DATATABLE来代替。
<script runat="server" language="c#">
void Page_Load()
{
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source=";
strConnection+=Server.MapPath("guestbook.mdb");
OleDbConnection objConnection=new OleDbConnection(strConnection);
OleDbDataAdapter objDataAdapter=new OleDbDataAdapter("select * from guestbook",objConnection);
DataSet objDataSet=new DataSet();
objDataAdapter.Fill(objDataSet);
dgrdMain.DataSource=objDataSet;
dgrdMain.DataBind();
}
void dgrdMain_PageIndexChanged(Object sender, DataGridPageChangedEventArgs e)
{
dgrdMain.CurrentPageIndex = e.NewPageIndex;
DataBind();
}
</script>
<html>
<body>
<asp:DataGrid
id="dgrdMain"
cellpadding="1"
showheader="true"
borderwidth="0"
allowpaging="true"
启用分页功能
pagesize="3"
每一页显示三条记录
onpageindexchanged="dgrdMain_pageindexchanged "
调用第×页的函数为dgrdMain_PageIndexChanged()
runat="server"
/>
</body>
</html>

<script runat="server" language="vb">
subPage_Load
dim objConnection as OleDbConnection
dim objDataAdapter as OleDbDataAdapter
dim objDataSet as DataSet
objConnection=new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath("guestbook.mdb"))
objDataAdapter=new OleDbDataAdapter("select * from guestbook",objConnection)
objDataSet=new DataSet
objDataAdapter.Fill(objDataSet)
dgrdMain.DataSource=objDataSet
dgrdMain.DataBind()
end sub
sub dgrdMain_PageIndexChanged(sender as object,e as datagridpagechangedeventargs)
dgrdMain.CurrentPageIndex = e.NewPageIndex
DataBind
end sub
</script>
<html>
<body>
<asp:DataGrid
id="dgrdMain"
cellpadding="1"
showheader="true"
borderwidth="0"
allowpaging="true"
启用分页功能
pagesize="3"
每一页显示三条记录
onpageindexchanged="dgrdMain_pageindexchanged "
调用第×页的函数为dgrdMain_PageIndexChanged()
runat="server"
/>
</body>
</html>

这样就是最简单的分页,我们可以用参数pagestyle-mode="nextprev/numericpages"来设定是显示上一页、下一页方式还是直接选择页面的数字方式来实现页面跳转。如果是前者我们可以用pagestyle-nextpagetext来设定包含下一页链接的文本,用pagestyle-prevpagetext来设定包含上一页链接的文本;如果是后者我们可以用PagerStyle-PageButtonCount来设定在使用省略号之前显示的页面编号数量(默认是10

今天就说到这里,明天说一下SESSIONCOOKIE

十天学会ASP.NET第十天:

学习目的:学会SESSIONCOOKIE的使用

在各个网页间的变量传递和一些记录用户的登陆信息要用到SESSIONCOOKIE。在ASP.NET中使用COOKIEASP中稍微麻烦一点,因为我们要申明变量。

首先看一下SESSION的使用,基本和ASP差不多
写入一个SESSION

Session["username"])="aa";

S ession("username")="aa"

读取一个SESSINN

string username= Session["username"];

dim username=Session("username")

再来看一下COOKIE的写入:

DateTime dt=DateTime.Now; //需要<%@Import Namespace="System"%>,得到当前时间
HttpCookie mycookie=new HttpCookie("logname");//
申明新的COOKIE变量
mycookie.Value="aa";//
赋值
mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1));//
设定过期时间为1
Response.Cookies.Add(mycookie1);//
写入COOKIE

dim dt as DateTime
dt=DataTime.Now
dim mycookie as HttpCookie
mycookie=new HttpCookie("logname")
mycookie.Value="aa"
mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1))
Response.Cookies.Add(mycookie1)

看一下COOKIE的读取:

HttpCookie mycookie=Request.Cookies["username"];
string username=mycookie.Value;


dim mycookie as HttpCookie
mycookie=Request.Cookies["username"]
dim string=mycookie.Value

到此《十天学会ASP.NET》结束了,时间仓促,还请大家原谅写的不全,实际上我只是带大家入门,学会还要靠自己啊。

学习目的:学会SESSIONCOOKIE的使用

在各个网页间的变量传递和一些记录用户的登陆信息要用到SESSIONCOOKIE。在ASP.NET中使用COOKIEASP中稍微麻烦一点,因为我们要申明变量。

首先看一下SESSION的使用,基本和ASP差不多
写入一个SESSION

Session["username"])="aa";

S ession("username")="aa"

读取一个SESSINN

string username= Session["username"];

dim username=Session("username")

再来看一下COOKIE的写入:

DateTime dt=DateTime.Now; //需要<%@Import Namespace="System"%>,得到当前时间
HttpCookie mycookie=new HttpCookie("logname");//
申明新的COOKIE变量
mycookie.Value="aa";//
赋值
mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1));//
设定过期时间为1
Response.Cookies.Add(mycookie1);//
写入COOKIE

dim dt as DateTime
dt=DataTime.Now
dim mycookie as HttpCookie
mycookie=new HttpCookie("logname")
mycookie.Value="aa"
mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1))
Response.Cookies.Add(mycookie1)

看一下COOKIE的读取:

HttpCookie mycookie=Request.Cookies["username"];
string username=mycookie.Value;


dim mycookie as HttpCookie
mycookie=Request.Cookies["username"]
dim string=mycookie.Value

到此《十天学会ASP.NET》结束了,时间仓促,还请大家原谅写的不全,实际上我只是带大家入门,学会还要靠自己啊。

学习目的:学会用DATAGRID分页显示

虽然说DATAGRID的分页显示效率不怎么高,但是不管怎么说,它是最方便的分页显示,对于做一个留言簿还是相当简单实用的。对于启用分页功能还有一个重要要求,只能在DATADRID控件的数据源实现了ICOLLECTION接口的情况下才能启用分页功能,而DATAREADER没有这个接口,所以必须使用DATATABLE来代替。
<script runat="server" language="c#">
void Page_Load()
{
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source=";
strConnection+=Server.MapPath("guestbook.mdb");
OleDbConnection objConnection=new OleDbConnection(strConnection);
OleDbDataAdapter objDataAdapter=new OleDbDataAdapter("select * from guestbook",objConnection);
DataSet objDataSet=new DataSet();
objDataAdapter.Fill(objDataSet);
dgrdMain.DataSource=objDataSet;
dgrdMain.DataBind();
}
void dgrdMain_PageIndexChanged(Object sender, DataGridPageChangedEventArgs e)
{
dgrdMain.CurrentPageIndex = e.NewPageIndex;
DataBind();
}
</script>
<html>
<body>
<asp:DataGrid
id="dgrdMain"
cellpadding="1"
showheader="true"
borderwidth="0"
allowpaging="true"
启用分页功能
pagesize="3"
每一页显示三条记录
onpageindexchanged="dgrdMain_pageindexchanged "
调用第×页的函数为dgrdMain_PageIndexChanged()
runat="server"
/>
</body>
</html>

<script runat="server" language="vb">
subPage_Load
dim objConnection as OleDbConnection
dim objDataAdapter as OleDbDataAdapter
dim objDataSet as DataSet
objConnection=new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath("guestbook.mdb"))
objDataAdapter=new OleDbDataAdapter("select * from guestbook",objConnection)
objDataSet=new DataSet
objDataAdapter.Fill(objDataSet)
dgrdMain.DataSource=objDataSet
dgrdMain.DataBind()
end sub
sub dgrdMain_PageIndexChanged(sender as object,e as datagridpagechangedeventargs)
dgrdMain.CurrentPageIndex = e.NewPageIndex
DataBind
end sub
</script>
<html>
<body>
<asp:DataGrid
id="dgrdMain"
cellpadding="1"
showheader="true"
borderwidth="0"
allowpaging="true"
启用分页功能
pagesize="3"
每一页显示三条记录
onpageindexchanged="dgrdMain_pageindexchanged "
调用第×页的函数为dgrdMain_PageIndexChanged()
runat="server"
/>
</body>
</html>

这样就是最简单的分页,我们可以用参数pagestyle-mode="nextprev/numericpages"来设定是显示上一页、下一页方式还是直接选择页面的数字方式来实现页面跳转。如果是前者我们可以用pagestyle-nextpagetext来设定包含下一页链接的文本,用pagestyle-prevpagetext来设定包含上一页链接的文本;如果是后者我们可以用PagerStyle-PageButtonCount来设定在使用省略号之前显示的页面编号数量(默认是10

今天就说到这里,明天说一下SESSIONCOOKIE

十天学会ASP.NET第十天:

学习目的:学会SESSIONCOOKIE的使用

在各个网页间的变量传递和一些记录用户的登陆信息要用到SESSIONCOOKIE。在ASP.NET中使用COOKIEASP中稍微麻烦一点,因为我们要申明变量。

首先看一下SESSION的使用,基本和ASP差不多
写入一个SESSION

Session["username"])="aa";

S ession("username")="aa"

读取一个SESSINN

string username= Session["username"];

dim username=Session("username")

再来看一下COOKIE的写入:

DateTime dt=DateTime.Now; //需要<%@Import Namespace="System"%>,得到当前时间
HttpCookie mycookie=new HttpCookie("logname");//
申明新的COOKIE变量
mycookie.Value="aa";//
赋值
mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1));//
设定过期时间为1
Response.Cookies.Add(mycookie1);//
写入COOKIE

dim dt as DateTime
dt=DataTime.Now
dim mycookie as HttpCookie
mycookie=new HttpCookie("logname")
mycookie.Value="aa"
mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1))
Response.Cookies.Add(mycookie1)

看一下COOKIE的读取:

HttpCookie mycookie=Request.Cookies["username"];
string username=mycookie.Value;


dim mycookie as HttpCookie
mycookie=Request.Cookies["username"]
dim string=mycookie.Value

到此《十天学会ASP.NET》结束了,时间仓促,还请大家原谅写的不全,实际上我只是带大家入门,学会还要靠自己啊。

学习目的:学会SESSIONCOOKIE的使用

在各个网页间的变量传递和一些记录用户的登陆信息要用到SESSIONCOOKIE。在ASP.NET中使用COOKIEASP中稍微麻烦一点,因为我们要申明变量。

首先看一下SESSION的使用,基本和ASP差不多
写入一个SESSION

Session["username"])="aa";

S ession("username")="aa"

读取一个SESSINN

string username= Session["username"];

dim username=Session("username")

再来看一下COOKIE的写入:

DateTime dt=DateTime.Now; //需要<%@Import Namespace="System"%>,得到当前时间
HttpCookie mycookie=new HttpCookie("logname");//
申明新的COOKIE变量
mycookie.Value="aa";//
赋值
mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1));//
设定过期时间为1
Response.Cookies.Add(mycookie1);//
写入COOKIE

dim dt as DateTime
dt=DataTime.Now
dim mycookie as HttpCookie
mycookie=new HttpCookie("logname")
mycookie.Value="aa"
mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1))
Response.Cookies.Add(mycookie1)

看一下COOKIE的读取:

HttpCookie mycookie=Request.Cookies["username"];
string username=mycookie.Value;


dim mycookie as HttpCookie
mycookie=Request.Cookies["username"]
dim string=mycookie.Value

到此《十天学会ASP.NET》结束了,时间仓促,还请大家原谅写的不全,实际上我只是带大家入门,学会还要靠自己啊。

学习目的:初步掌握DATAGRID的使用

以前在ASP中,我们显示大批量数据经常使用循环读取记录集的方式,在表格中插入代码来显示,循环的是<tr>,如果是分页还需要自己制作,如果排序更加复杂,在ASP.NET中就好了,一切工作都可以让DATAGRID来做。

首先看一下DATAGRID的样式方面的属性
BackImageUrl=""
背景图片
CellSpacing=""
单元格间距
CellPadding=""
单元格填充
cssClass=""
使用的CSS样式

DATAGRID
可以自动用表中的字段名放在显示的记录的头部来表示各个单元格所代表的意义,用ShowHeader="true/false"来控制是不是显示,在大多数情况下我们是不需要这个功能的,因为我们数据库中的字段名大多是英文的,而我们想在页面输出的大多是中文名字。

下面看一下显示数据库内所有记录,就几行代码:


<script runat="server" language="c#">
void Page_Load()
{
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source=";
strConnection+=Server.MapPath("guestbook.mdb");
OleDbConnection objConnection=new OleDbConnection(strConnection);
OleDbCommand objCommand1 = new OleDbCommand("select * from guestbook",objConnection);
objConnection.Open();
dgrdMain.DataSource=objCommand1.ExecuteReader();//dgrdMain
就是下面的DATAGRIDID
dgrdMain.DataBind();
objConnection.Close();
}
</script>
<html>
<body>
<asp:DataGrid
id="dgrdMain"
cellpadding="1"
showheader="true"
borderwidth="0"
runat="server"
/>
</body>
</html>

至于VB的版本,这次大家自己来试试吧:)

假设数据库是三个字段:id,aa,bb
显示的样子就如下:

id

aa

bb

1

werwe

rewrwe

2

werwe

rewrwe



我们一定觉得这种显示不满意,我们有两种显示的方式(需要包括在<columns></columns>中间):

一、默认的列,我们可以选择不输出所有的字段还可以安排顺序:
<asp:BoundColumn DataField="
想要显示的字段名">
比如说我们想按照bb,aa来输出这个表,我们这么写

<asp:DataGrid
id="dgrdMain"
cellpadding="1"
showheader="true"
autogeneratecolumns="false"
borderwidth="0"
runat="server">
<columns>
<asp:boundcolumn datafield="bb"/>
<asp:boundcolumn datafield="bb"/>
</columns>
</asp:datagrid>

注意使用了 autogeneratecolumns="false" 以后DATAGRID就不会自动输出所有字段了。

二、以模板列,我们可以定制每一个单元格的样式:
<asp:TemplateColumn>
<itemTemplate>
中间是一个表格,想怎么样就怎么样
</itemTemplate>
</asp:DataGrid>
或许你们要说怎么在表格中输出代码那,可以使用<%# DataBinder.Eval(Container.DataItem,"字段名").ToString()%>
下面看一个例子,我们所要做的就是把aa,bb两个字段放在一个单元格内显示,就好像下面一样:

1

werwe
rewrwe

2

werwe
rewrwe


我们这样写代码:
<asp:DataGrid
id="dgrdMain"
cellpadding="1"
showheader="false"
autogeneratecolumns="false"
borderwidth="0"
runat="server">
<columns>
<asp:boundcolumn datafield="ii"/>
首先使用默认的显示方式显示ID
<asp:TemplateColumn>
再使用模板来显示后面一列(由AA,BB并列组成)
<itemTemplate>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td><%# Container.DataItem("aa")%></td>
</tr>
<tr>
<td><%# Container.DataItem("bb")%></td>
</tr>
</table>
</itemTemplate>
</asp:DataGrid>
</columns>
</asp:datagrid>

今天就说到这里,明天我们来看一下DATAGRID的分页显示等功能

十天学会ASP.NET第九天:

学习目的:学会用DATAGRID分页显示

虽然说DATAGRID的分页显示效率不怎么高,但是不管怎么说,它是最方便的分页显示,对于做一个留言簿还是相当简单实用的。对于启用分页功能还有一个重要要求,只能在DATADRID控件的数据源实现了ICOLLECTION接口的情况下才能启用分页功能,而DATAREADER没有这个接口,所以必须使用DATATABLE来代替。
<script runat="server" language="c#">
void Page_Load()
{
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source=";
strConnection+=Server.MapPath("guestbook.mdb");
OleDbConnection objConnection=new OleDbConnection(strConnection);
OleDbDataAdapter objDataAdapter=new OleDbDataAdapter("select * from guestbook",objConnection);
DataSet objDataSet=new DataSet();
objDataAdapter.Fill(objDataSet);
dgrdMain.DataSource=objDataSet;
dgrdMain.DataBind();
}
void dgrdMain_PageIndexChanged(Object sender, DataGridPageChangedEventArgs e)
{
dgrdMain.CurrentPageIndex = e.NewPageIndex;
DataBind();
}
</script>
<html>
<body>
<asp:DataGrid
id="dgrdMain"
cellpadding="1"
showheader="true"
borderwidth="0"
allowpaging="true"
启用分页功能
pagesize="3"
每一页显示三条记录
onpageindexchanged="dgrdMain_pageindexchanged "
调用第×页的函数为dgrdMain_PageIndexChanged()
runat="server"
/>
</body>
</html>

<script runat="server" language="vb">
subPage_Load
dim objConnection as OleDbConnection
dim objDataAdapter as OleDbDataAdapter
dim objDataSet as DataSet
objConnection=new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath("guestbook.mdb"))
objDataAdapter=new OleDbDataAdapter("select * from guestbook",objConnection)
objDataSet=new DataSet
objDataAdapter.Fill(objDataSet)
dgrdMain.DataSource=objDataSet
dgrdMain.DataBind()
end sub
sub dgrdMain_PageIndexChanged(sender as object,e as datagridpagechangedeventargs)
dgrdMain.CurrentPageIndex = e.NewPageIndex
DataBind
end sub
</script>
<html>
<body>
<asp:DataGrid
id="dgrdMain"
cellpadding="1"
showheader="true"
borderwidth="0"
allowpaging="true"
启用分页功能
pagesize="3"
每一页显示三条记录
onpageindexchanged="dgrdMain_pageindexchanged "
调用第×页的函数为dgrdMain_PageIndexChanged()
runat="server"
/>
</body>
</html>

这样就是最简单的分页,我们可以用参数pagestyle-mode="nextprev/numericpages"来设定是显示上一页、下一页方式还是直接选择页面的数字方式来实现页面跳转。如果是前者我们可以用pagestyle-nextpagetext来设定包含下一页链接的文本,用pagestyle-prevpagetext来设定包含上一页链接的文本;如果是后者我们可以用PagerStyle-PageButtonCount来设定在使用省略号之前显示的页面编号数量(默认是10

今天就说到这里,明天说一下SESSIONCOOKIE

十天学会ASP.NET第十天:

学习目的:学会SESSIONCOOKIE的使用

在各个网页间的变量传递和一些记录用户的登陆信息要用到SESSIONCOOKIE。在ASP.NET中使用COOKIEASP中稍微麻烦一点,因为我们要申明变量。

首先看一下SESSION的使用,基本和ASP差不多
写入一个SESSION

Session["username"])="aa";

S ession("username")="aa"

读取一个SESSINN

string username= Session["username"];

dim username=Session("username")

再来看一下COOKIE的写入:

DateTime dt=DateTime.Now; //需要<%@Import Namespace="System"%>,得到当前时间
HttpCookie mycookie=new HttpCookie("logname");//
申明新的COOKIE变量
mycookie.Value="aa";//
赋值
mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1));//
设定过期时间为1
Response.Cookies.Add(mycookie1);//
写入COOKIE

dim dt as DateTime
dt=DataTime.Now
dim mycookie as HttpCookie
mycookie=new HttpCookie("logname")
mycookie.Value="aa"
mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1))
Response.Cookies.Add(mycookie1)

看一下COOKIE的读取:

HttpCookie mycookie=Request.Cookies["username"];
string username=mycookie.Value;


dim mycookie as HttpCookie
mycookie=Request.Cookies["username"]
dim string=mycookie.Value

到此《十天学会ASP.NET》结束了,时间仓促,还请大家原谅写的不全,实际上我只是带大家入门,学会还要靠自己啊。

学习目的:学会SESSIONCOOKIE的使用

在各个网页间的变量传递和一些记录用户的登陆信息要用到SESSIONCOOKIE。在ASP.NET中使用COOKIEASP中稍微麻烦一点,因为我们要申明变量。

首先看一下SESSION的使用,基本和ASP差不多
写入一个SESSION

Session["username"])="aa";

S ession("username")="aa"

读取一个SESSINN

string username= Session["username"];

dim username=Session("username")

再来看一下COOKIE的写入:

DateTime dt=DateTime.Now; //需要<%@Import Namespace="System"%>,得到当前时间
HttpCookie mycookie=new HttpCookie("logname");//
申明新的COOKIE变量
mycookie.Value="aa";//
赋值
mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1));//
设定过期时间为1
Response.Cookies.Add(mycookie1);//
写入COOKIE

dim dt as DateTime
dt=DataTime.Now
dim mycookie as HttpCookie
mycookie=new HttpCookie("logname")
mycookie.Value="aa"
mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1))
Response.Cookies.Add(mycookie1)

看一下COOKIE的读取:

HttpCookie mycookie=Request.Cookies["username"];
string username=mycookie.Value;


dim mycookie as HttpCookie
mycookie=Request.Cookies["username"]
dim string=mycookie.Value

到此《十天学会ASP.NET》结束了,时间仓促,还请大家原谅写的不全,实际上我只是带大家入门,学会还要靠自己啊。

学习目的:学会用DATAGRID分页显示

虽然说DATAGRID的分页显示效率不怎么高,但是不管怎么说,它是最方便的分页显示,对于做一个留言簿还是相当简单实用的。对于启用分页功能还有一个重要要求,只能在DATADRID控件的数据源实现了ICOLLECTION接口的情况下才能启用分页功能,而DATAREADER没有这个接口,所以必须使用DATATABLE来代替。
<script runat="server" language="c#">
void Page_Load()
{
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source=";
strConnection+=Server.MapPath("guestbook.mdb");
OleDbConnection objConnection=new OleDbConnection(strConnection);
OleDbDataAdapter objDataAdapter=new OleDbDataAdapter("select * from guestbook",objConnection);
DataSet objDataSet=new DataSet();
objDataAdapter.Fill(objDataSet);
dgrdMain.DataSource=objDataSet;
dgrdMain.DataBind();
}
void dgrdMain_PageIndexChanged(Object sender, DataGridPageChangedEventArgs e)
{
dgrdMain.CurrentPageIndex = e.NewPageIndex;
DataBind();
}
</script>
<html>
<body>
<asp:DataGrid
id="dgrdMain"
cellpadding="1"
showheader="true"
borderwidth="0"
allowpaging="true"
启用分页功能
pagesize="3"
每一页显示三条记录
onpageindexchanged="dgrdMain_pageindexchanged "
调用第×页的函数为dgrdMain_PageIndexChanged()
runat="server"
/>
</body>
</html>

<script runat="server" language="vb">
subPage_Load
dim objConnection as OleDbConnection
dim objDataAdapter as OleDbDataAdapter
dim objDataSet as DataSet
objConnection=new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath("guestbook.mdb"))
objDataAdapter=new OleDbDataAdapter("select * from guestbook",objConnection)
objDataSet=new DataSet
objDataAdapter.Fill(objDataSet)
dgrdMain.DataSource=objDataSet
dgrdMain.DataBind()
end sub
sub dgrdMain_PageIndexChanged(sender as object,e as datagridpagechangedeventargs)
dgrdMain.CurrentPageIndex = e.NewPageIndex
DataBind
end sub
</script>
<html>
<body>
<asp:DataGrid
id="dgrdMain"
cellpadding="1"
showheader="true"
borderwidth="0"
allowpaging="true"
启用分页功能
pagesize="3"
每一页显示三条记录
onpageindexchanged="dgrdMain_pageindexchanged "
调用第×页的函数为dgrdMain_PageIndexChanged()
runat="server"
/>
</body>
</html>

这样就是最简单的分页,我们可以用参数pagestyle-mode="nextprev/numericpages"来设定是显示上一页、下一页方式还是直接选择页面的数字方式来实现页面跳转。如果是前者我们可以用pagestyle-nextpagetext来设定包含下一页链接的文本,用pagestyle-prevpagetext来设定包含上一页链接的文本;如果是后者我们可以用PagerStyle-PageButtonCount来设定在使用省略号之前显示的页面编号数量(默认是10

今天就说到这里,明天说一下SESSIONCOOKIE

十天学会ASP.NET第十天:

学习目的:学会SESSIONCOOKIE的使用

在各个网页间的变量传递和一些记录用户的登陆信息要用到SESSIONCOOKIE。在ASP.NET中使用COOKIEASP中稍微麻烦一点,因为我们要申明变量。

首先看一下SESSION的使用,基本和ASP差不多
写入一个SESSION

Session["username"])="aa";

S ession("username")="aa"

读取一个SESSINN

string username= Session["username"];

dim username=Session("username")

再来看一下COOKIE的写入:

DateTime dt=DateTime.Now; //需要<%@Import Namespace="System"%>,得到当前时间
HttpCookie mycookie=new HttpCookie("logname");//
申明新的COOKIE变量
mycookie.Value="aa";//
赋值
mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1));//
设定过期时间为1
Response.Cookies.Add(mycookie1);//
写入COOKIE

dim dt as DateTime
dt=DataTime.Now
dim mycookie as HttpCookie
mycookie=new HttpCookie("logname")
mycookie.Value="aa"
mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1))
Response.Cookies.Add(mycookie1)

看一下COOKIE的读取:

HttpCookie mycookie=Request.Cookies["username"];
string username=mycookie.Value;


dim mycookie as HttpCookie
mycookie=Request.Cookies["username"]
dim string=mycookie.Value

到此《十天学会ASP.NET》结束了,时间仓促,还请大家原谅写的不全,实际上我只是带大家入门,学会还要靠自己啊。

学习目的:学会SESSIONCOOKIE的使用

在各个网页间的变量传递和一些记录用户的登陆信息要用到SESSIONCOOKIE。在ASP.NET中使用COOKIEASP中稍微麻烦一点,因为我们要申明变量。

首先看一下SESSION的使用,基本和ASP差不多
写入一个SESSION

Session["username"])="aa";

S ession("username")="aa"

读取一个SESSINN

string username= Session["username"];

dim username=Session("username")

再来看一下COOKIE的写入:

DateTime dt=DateTime.Now; //需要<%@Import Namespace="System"%>,得到当前时间
HttpCookie mycookie=new HttpCookie("logname");//
申明新的COOKIE变量
mycookie.Value="aa";//
赋值
mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1));//
设定过期时间为1
Response.Cookies.Add(mycookie1);//
写入COOKIE

dim dt as DateTime
dt=DataTime.Now
dim mycookie as HttpCookie
mycookie=new HttpCookie("logname")
mycookie.Value="aa"
mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1))
Response.Cookies.Add(mycookie1)

看一下COOKIE的读取:

HttpCookie mycookie=Request.Cookies["username"];
string username=mycookie.Value;


dim mycookie as HttpCookie
mycookie=Request.Cookies["username"]
dim string=mycookie.Value

到此《十天学会ASP.NET》结束了,时间仓促,还请大家原谅写的不全,实际上我只是带大家入门,学会还要靠自己啊。

学习目的:学会添加删除修改记录

以前我们在ASP中不管是添加还是删除记录或者用SQL语句加上EXECUTE()或者就是直接用RECORDSETNEWDELETEUPDATE等方法来添加删除修改记录。在ASP.NET里面我们采用SQL语句加上COMMAND对象来执行SQL语句的方法来添加删除修改记录。这比上次说的读取记录还简单。实际上只有一点区别,把ExecuteReader()修改为ExecuteNonQuery()即可,因为我们不需要返回值啊。
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source=";
strConnection+=Server.MapPath(strDb);
OleDbConnection objConnection=new OleDbConnection(strConnection);
OleDbCommand objCommand = new OleDbCommand("
这里是SQL语句" , objConnection);
objConnection.Open();
OleDbDataReader objDataReader=objCommand.ExecuteNonQuery();

dim objConnection as OleDbConnection
dim objCommand as OleDbCommand
objConnection=new OleDbConnection(Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath(strDb))
objCommand=new OleDbCommand("
这里是SQL语句" , objConnection)
objConnection.Open()
objDataReader=objCommand.ExecuteNoQuery()

下面再举例子说明一下SQL语句(ACCESS):
添加记录: insert int

o 表名 (字段1,字段2) values (字符串1,字符串2) where 条件
删除记录: delete from 表名 where 条件
修改记录: update 表名 set 字段1=××,字段2=×× where 条件

需要特别注意,如果是Sql Server删除记录是delete 表名,不需要再加from了。

今天就说到这里了,明天说ASP.NET里面最著名的DATAGRID

十天学会ASP.NET第八天:

学习目的:初步掌握DATAGRID的使用

以前在ASP中,我们显示大批量数据经常使用循环读取记录集的方式,在表格中插入代码来显示,循环的是<tr>,如果是分页还需要自己制作,如果排序更加复杂,在ASP.NET中就好了,一切工作都可以让DATAGRID来做。

首先看一下DATAGRID的样式方面的属性
BackImageUrl=""
背景图片
CellSpacing=""
单元格间距
CellPadding=""
单元格填充
cssClass=""
使用的CSS样式

DATAGRID
可以自动用表中的字段名放在显示的记录的头部来表示各个单元格所代表的意义,用ShowHeader="true/false"来控制是不是显示,在大多数情况下我们是不需要这个功能的,因为我们数据库中的字段名大多是英文的,而我们想在页面输出的大多是中文名字。

下面看一下显示数据库内所有记录,就几行代码:


<script runat="server" language="c#">
void Page_Load()
{
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source=";
strConnection+=Server.MapPath("guestbook.mdb");
OleDbConnection objConnection=new OleDbConnection(strConnection);
OleDbCommand objCommand1 = new OleDbCommand("select * from guestbook",objConnection);
objConnection.Open();
dgrdMain.DataSource=objCommand1.ExecuteReader();//dgrdMain
就是下面的DATAGRIDID
dgrdMain.DataBind();
objConnection.Close();
}
</script>
<html>
<body>
<asp:DataGrid
id="dgrdMain"
cellpadding="1"
showheader="true"
borderwidth="0"
runat="server"
/>
</body>
</html>

至于VB的版本,这次大家自己来试试吧:)

假设数据库是三个字段:id,aa,bb
显示的样子就如下:

id

aa

bb

1

werwe

rewrwe

2

werwe

rewrwe



我们一定觉得这种显示不满意,我们有两种显示的方式(需要包括在<columns></columns>中间):

一、默认的列,我们可以选择不输出所有的字段还可以安排顺序:
<asp:BoundColumn DataField="
想要显示的字段名">
比如说我们想按照bb,aa来输出这个表,我们这么写

<asp:DataGrid
id="dgrdMain"
cellpadding="1"
showheader="true"
autogeneratecolumns="false"
borderwidth="0"
runat="server">
<columns>
<asp:boundcolumn datafield="bb"/>
<asp:boundcolumn datafield="bb"/>
</columns>
</asp:datagrid>

注意使用了 autogeneratecolumns="false" 以后DATAGRID就不会自动输出所有字段了。

二、以模板列,我们可以定制每一个单元格的样式:
<asp:TemplateColumn>
<itemTemplate>
中间是一个表格,想怎么样就怎么样
</itemTemplate>
</asp:DataGrid>
或许你们要说怎么在表格中输出代码那,可以使用<%# DataBinder.Eval(Container.DataItem,"字段名").ToString()%>
下面看一个例子,我们所要做的就是把aa,bb两个字段放在一个单元格内显示,就好像下面一样:

1

werwe
rewrwe

2

werwe
rewrwe


我们这样写代码:
<asp:DataGrid
id="dgrdMain"
cellpadding="1"
showheader="false"
autogeneratecolumns="false"
borderwidth="0"
runat="server">
<columns>
<asp:boundcolumn datafield="ii"/>
首先使用默认的显示方式显示ID
<asp:TemplateColumn>
再使用模板来显示后面一列(由AA,BB并列组成)
<itemTemplate>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td><%# Container.DataItem("aa")%></td>
</tr>
<tr>
<td><%# Container.DataItem("bb")%></td>
</tr>
</table>
</itemTemplate>
</asp:DataGrid>
</columns>
</asp:datagrid>

今天就说到这里,明天我们来看一下DATAGRID的分页显示等功能

十天学会ASP.NET第九天:

学习目的:学会用DATAGRID分页显示

虽然说DATAGRID的分页显示效率不怎么高,但是不管怎么说,它是最方便的分页显示,对于做一个留言簿还是相当简单实用的。对于启用分页功能还有一个重要要求,只能在DATADRID控件的数据源实现了ICOLLECTION接口的情况下才能启用分页功能,而DATAREADER没有这个接口,所以必须使用DATATABLE来代替。
<script runat="server" language="c#">
void Page_Load()
{
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source=";
strConnection+=Server.MapPath("guestbook.mdb");
OleDbConnection objConnection=new OleDbConnection(strConnection);
OleDbDataAdapter objDataAdapter=new OleDbDataAdapter("select * from guestbook",objConnection);
DataSet objDataSet=new DataSet();
objDataAdapter.Fill(objDataSet);
dgrdMain.DataSource=objDataSet;
dgrdMain.DataBind();
}
void dgrdMain_PageIndexChanged(Object sender, DataGridPageChangedEventArgs e)
{
dgrdMain.CurrentPageIndex = e.NewPageIndex;
DataBind();
}
</script>
<html>
<body>
<asp:DataGrid
id="dgrdMain"
cellpadding="1"
showheader="true"
borderwidth="0"
allowpaging="true"
启用分页功能
pagesize="3"
每一页显示三条记录
onpageindexchanged="dgrdMain_pageindexchanged "
调用第×页的函数为dgrdMain_PageIndexChanged()
runat="server"
/>
</body>
</html>

<script runat="server" language="vb">
subPage_Load
dim objConnection as OleDbConnection
dim objDataAdapter as OleDbDataAdapter
dim objDataSet as DataSet
objConnection=new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath("guestbook.mdb"))
objDataAdapter=new OleDbDataAdapter("select * from guestbook",objConnection)
objDataSet=new DataSet
objDataAdapter.Fill(objDataSet)
dgrdMain.DataSource=objDataSet
dgrdMain.DataBind()
end sub
sub dgrdMain_PageIndexChanged(sender as object,e as datagridpagechangedeventargs)
dgrdMain.CurrentPageIndex = e.NewPageIndex
DataBind
end sub
</script>
<html>
<body>
<asp:DataGrid
id="dgrdMain"
cellpadding="1"
showheader="true"
borderwidth="0"
allowpaging="true"
启用分页功能
pagesize="3"
每一页显示三条记录
onpageindexchanged="dgrdMain_pageindexchanged "
调用第×页的函数为dgrdMain_PageIndexChanged()
runat="server"
/>
</body>
</html>

这样就是最简单的分页,我们可以用参数pagestyle-mode="nextprev/numericpages"来设定是显示上一页、下一页方式还是直接选择页面的数字方式来实现页面跳转。如果是前者我们可以用pagestyle-nextpagetext来设定包含下一页链接的文本,用pagestyle-prevpagetext来设定包含上一页链接的文本;如果是后者我们可以用PagerStyle-PageButtonCount来设定在使用省略号之前显示的页面编号数量(默认是10

今天就说到这里,明天说一下SESSIONCOOKIE

十天学会ASP.NET第十天:

学习目的:学会SESSIONCOOKIE的使用

在各个网页间的变量传递和一些记录用户的登陆信息要用到SESSIONCOOKIE。在ASP.NET中使用COOKIEASP中稍微麻烦一点,因为我们要申明变量。

首先看一下SESSION的使用,基本和ASP差不多
写入一个SESSION

Session["username"])="aa";

S ession("username")="aa"

读取一个SESSINN

string username= Session["username"];

dim username=Session("username")

再来看一下COOKIE的写入:

DateTime dt=DateTime.Now; //需要<%@Import Namespace="System"%>,得到当前时间
HttpCookie mycookie=new HttpCookie("logname");//
申明新的COOKIE变量
mycookie.Value="aa";//
赋值
mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1));//
设定过期时间为1
Response.Cookies.Add(mycookie1);//
写入COOKIE

dim dt as DateTime
dt=DataTime.Now
dim mycookie as HttpCookie
mycookie=new HttpCookie("logname")
mycookie.Value="aa"
mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1))
Response.Cookies.Add(mycookie1)

看一下COOKIE的读取:

HttpCookie mycookie=Request.Cookies["username"];
string username=mycookie.Value;


dim mycookie as HttpCookie
mycookie=Request.Cookies["username"]
dim string=mycookie.Value

到此《十天学会ASP.NET》结束了,时间仓促,还请大家原谅写的不全,实际上我只是带大家入门,学会还要靠自己啊。

学习目的:学会SESSIONCOOKIE的使用

在各个网页间的变量传递和一些记录用户的登陆信息要用到SESSIONCOOKIE。在ASP.NET中使用COOKIEASP中稍微麻烦一点,因为我们要申明变量。

首先看一下SESSION的使用,基本和ASP差不多
写入一个SESSION

Session["username"])="aa";

S ession("username")="aa"

读取一个SESSINN

string username= Session["username"];

dim username=Session("username")

再来看一下COOKIE的写入:

DateTime dt=DateTime.Now; //需要<%@Import Namespace="System"%>,得到当前时间
HttpCookie mycookie=new HttpCookie("logname");//
申明新的COOKIE变量
mycookie.Value="aa";//
赋值
mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1));//
设定过期时间为1
Response.Cookies.Add(mycookie1);//
写入COOKIE

dim dt as DateTime
dt=DataTime.Now
dim mycookie as HttpCookie
mycookie=new HttpCookie("logname")
mycookie.Value="aa"
mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1))
Response.Cookies.Add(mycookie1)

看一下COOKIE的读取:

HttpCookie mycookie=Request.Cookies["username"];
string username=mycookie.Value;


dim mycookie as HttpCookie
mycookie=Request.Cookies["username"]
dim string=mycookie.Value

到此《十天学会ASP.NET》结束了,时间仓促,还请大家原谅写的不全,实际上我只是带大家入门,学会还要靠自己啊。

学习目的:学会用DATAGRID分页显示

虽然说DATAGRID的分页显示效率不怎么高,但是不管怎么说,它是最方便的分页显示,对于做一个留言簿还是相当简单实用的。对于启用分页功能还有一个重要要求,只能在DATADRID控件的数据源实现了ICOLLECTION接口的情况下才能启用分页功能,而DATAREADER没有这个接口,所以必须使用DATATABLE来代替。
<script runat="server" language="c#">
void Page_Load()
{
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source=";
strConnection+=Server.MapPath("guestbook.mdb");
OleDbConnection objConnection=new OleDbConnection(strConnection);
OleDbDataAdapter objDataAdapter=new OleDbDataAdapter("select * from guestbook",objConnection);
DataSet objDataSet=new DataSet();
objDataAdapter.Fill(objDataSet);
dgrdMain.DataSource=objDataSet;
dgrdMain.DataBind();
}
void dgrdMain_PageIndexChanged(Object sender, DataGridPageChangedEventArgs e)
{
dgrdMain.CurrentPageIndex = e.NewPageIndex;
DataBind();
}
</script>
<html>
<body>
<asp:DataGrid
id="dgrdMain"
cellpadding="1"
showheader="true"
borderwidth="0"
allowpaging="true"
启用分页功能
pagesize="3"
每一页显示三条记录
onpageindexchanged="dgrdMain_pageindexchanged "
调用第×页的函数为dgrdMain_PageIndexChanged()
runat="server"
/>
</body>
</html>

<script runat="server" language="vb">
subPage_Load
dim objConnection as OleDbConnection
dim objDataAdapter as OleDbDataAdapter
dim objDataSet as DataSet
objConnection=new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath("guestbook.mdb"))
objDataAdapter=new OleDbDataAdapter("select * from guestbook",objConnection)
objDataSet=new DataSet
objDataAdapter.Fill(objDataSet)
dgrdMain.DataSource=objDataSet
dgrdMain.DataBind()
end sub
sub dgrdMain_PageIndexChanged(sender as object,e as datagridpagechangedeventargs)
dgrdMain.CurrentPageIndex = e.NewPageIndex
DataBind
end sub
</script>
<html>
<body>
<asp:DataGrid
id="dgrdMain"
cellpadding="1"
showheader="true"
borderwidth="0"
allowpaging="true"
启用分页功能
pagesize="3"
每一页显示三条记录
onpageindexchanged="dgrdMain_pageindexchanged "
调用第×页的函数为dgrdMain_PageIndexChanged()
runat="server"
/>
</body>
</html>

这样就是最简单的分页,我们可以用参数pagestyle-mode="nextprev/numericpages"来设定是显示上一页、下一页方式还是直接选择页面的数字方式来实现页面跳转。如果是前者我们可以用pagestyle-nextpagetext来设定包含下一页链接的文本,用pagestyle-prevpagetext来设定包含上一页链接的文本;如果是后者我们可以用PagerStyle-PageButtonCount来设定在使用省略号之前显示的页面编号数量(默认是10

今天就说到这里,明天说一下SESSIONCOOKIE

十天学会ASP.NET第十天:

学习目的:学会SESSIONCOOKIE的使用

在各个网页间的变量传递和一些记录用户的登陆信息要用到SESSIONCOOKIE。在ASP.NET中使用COOKIEASP中稍微麻烦一点,因为我们要申明变量。

首先看一下SESSION的使用,基本和ASP差不多
写入一个SESSION

Session["username"])="aa";

S ession("username")="aa"

读取一个SESSINN

string username= Session["username"];

dim username=Session("username")

再来看一下COOKIE的写入:

DateTime dt=DateTime.Now; //需要<%@Import Namespace="System"%>,得到当前时间
HttpCookie mycookie=new HttpCookie("logname");//
申明新的COOKIE变量
mycookie.Value="aa";//
赋值
mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1));//
设定过期时间为1
Response.Cookies.Add(mycookie1);//
写入COOKIE

dim dt as DateTime
dt=DataTime.Now
dim mycookie as HttpCookie
mycookie=new HttpCookie("logname")
mycookie.Value="aa"
mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1))
Response.Cookies.Add(mycookie1)

看一下COOKIE的读取:

HttpCookie mycookie=Request.Cookies["username"];
string username=mycookie.Value;


dim mycookie as HttpCookie
mycookie=Request.Cookies["username"]
dim string=mycookie.Value

到此《十天学会ASP.NET》结束了,时间仓促,还请大家原谅写的不全,实际上我只是带大家入门,学会还要靠自己啊。

学习目的:学会SESSIONCOOKIE的使用

在各个网页间的变量传递和一些记录用户的登陆信息要用到SESSIONCOOKIE。在ASP.NET中使用COOKIEASP中稍微麻烦一点,因为我们要申明变量。

首先看一下SESSION的使用,基本和ASP差不多
写入一个SESSION

Session["username"])="aa";

S ession("username")="aa"

读取一个SESSINN

string username= Session["username"];

dim username=Session("username")

再来看一下COOKIE的写入:

DateTime dt=DateTime.Now; //需要<%@Import Namespace="System"%>,得到当前时间
HttpCookie mycookie=new HttpCookie("logname");//
申明新的COOKIE变量
mycookie.Value="aa";//
赋值
mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1));//
设定过期时间为1
Response.Cookies.Add(mycookie1);//
写入COOKIE

dim dt as DateTime
dt=DataTime.Now
dim mycookie as HttpCookie
mycookie=new HttpCookie("logname")
mycookie.Value="aa"
mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1))
Response.Cookies.Add(mycookie1)

看一下COOKIE的读取:

HttpCookie mycookie=Request.Cookies["username"];
string username=mycookie.Value;


dim mycookie as HttpCookie
mycookie=Request.Cookies["username"]
dim string=mycookie.Value

到此《十天学会ASP.NET》结束了,时间仓促,还请大家原谅写的不全,实际上我只是带大家入门,学会还要靠自己啊。

学习目的:初步掌握DATAGRID的使用

以前在ASP中,我们显示大批量数据经常使用循环读取记录集的方式,在表格中插入代码来显示,循环的是<tr>,如果是分页还需要自己制作,如果排序更加复杂,在ASP.NET中就好了,一切工作都可以让DATAGRID来做。

首先看一下DATAGRID的样式方面的属性
BackImageUrl=""
背景图片
CellSpacing=""
单元格间距
CellPadding=""
单元格填充
cssClass=""
使用的CSS样式

DATAGRID
可以自动用表中的字段名放在显示的记录的头部来表示各个单元格所代表的意义,用ShowHeader="true/false"来控制是不是显示,在大多数情况下我们是不需要这个功能的,因为我们数据库中的字段名大多是英文的,而我们想在页面输出的大多是中文名字。

下面看一下显示数据库内所有记录,就几行代码:


<script runat="server" language="c#">
void Page_Load()
{
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source=";
strConnection+=Server.MapPath("guestbook.mdb");
OleDbConnection objConnection=new OleDbConnection(strConnection);
OleDbCommand objCommand1 = new OleDbCommand("select * from guestbook",objConnection);
objConnection.Open();
dgrdMain.DataSource=objCommand1.ExecuteReader();//dgrdMain
就是下面的DATAGRIDID
dgrdMain.DataBind();
objConnection.Close();
}
</script>
<html>
<body>
<asp:DataGrid
id="dgrdMain"
cellpadding="1"
showheader="true"
borderwidth="0"
runat="server"
/>
</body>
</html>

至于VB的版本,这次大家自己来试试吧:)

假设数据库是三个字段:id,aa,bb
显示的样子就如下:

id

aa

bb

1

werwe

rewrwe

2

werwe

rewrwe



我们一定觉得这种显示不满意,我们有两种显示的方式(需要包括在<columns></columns>中间):

一、默认的列,我们可以选择不输出所有的字段还可以安排顺序:
<asp:BoundColumn DataField="
想要显示的字段名">
比如说我们想按照bb,aa来输出这个表,我们这么写

<asp:DataGrid
id="dgrdMain"
cellpadding="1"
showheader="true"
autogeneratecolumns="false"
borderwidth="0"
runat="server">
<columns>
<asp:boundcolumn datafield="bb"/>
<asp:boundcolumn datafield="bb"/>
</columns>
</asp:datagrid>

注意使用了 autogeneratecolumns="false" 以后DATAGRID就不会自动输出所有字段了。

二、以模板列,我们可以定制每一个单元格的样式:
<asp:TemplateColumn>
<itemTemplate>
中间是一个表格,想怎么样就怎么样
</itemTemplate>
</asp:DataGrid>
或许你们要说怎么在表格中输出代码那,可以使用<%# DataBinder.Eval(Container.DataItem,"字段名").ToString()%>
下面看一个例子,我们所要做的就是把aa,bb两个字段放在一个单元格内显示,就好像下面一样:

1

werwe
rewrwe

2

werwe
rewrwe


我们这样写代码:
<asp:DataGrid
id="dgrdMain"
cellpadding="1"
showheader="false"
autogeneratecolumns="false"
borderwidth="0"
runat="server">
<columns>
<asp:boundcolumn datafield="ii"/>
首先使用默认的显示方式显示ID
<asp:TemplateColumn>
再使用模板来显示后面一列(由AA,BB并列组成)
<itemTemplate>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td><%# Container.DataItem("aa")%></td>
</tr>
<tr>
<td><%# Container.DataItem("bb")%></td>
</tr>
</table>
</itemTemplate>
</asp:DataGrid>
</columns>
</asp:datagrid>

今天就说到这里,明天我们来看一下DATAGRID的分页显示等功能

十天学会ASP.NET第九天:

学习目的:学会用DATAGRID分页显示

虽然说DATAGRID的分页显示效率不怎么高,但是不管怎么说,它是最方便的分页显示,对于做一个留言簿还是相当简单实用的。对于启用分页功能还有一个重要要求,只能在DATADRID控件的数据源实现了ICOLLECTION接口的情况下才能启用分页功能,而DATAREADER没有这个接口,所以必须使用DATATABLE来代替。
<script runat="server" language="c#">
void Page_Load()
{
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source=";
strConnection+=Server.MapPath("guestbook.mdb");
OleDbConnection objConnection=new OleDbConnection(strConnection);
OleDbDataAdapter objDataAdapter=new OleDbDataAdapter("select * from guestbook",objConnection);
DataSet objDataSet=new DataSet();
objDataAdapter.Fill(objDataSet);
dgrdMain.DataSource=objDataSet;
dgrdMain.DataBind();
}
void dgrdMain_PageIndexChanged(Object sender, DataGridPageChangedEventArgs e)
{
dgrdMain.CurrentPageIndex = e.NewPageIndex;
DataBind();
}
</script>
<html>
<body>
<asp:DataGrid
id="dgrdMain"
cellpadding="1"
showheader="true"
borderwidth="0"
allowpaging="true"
启用分页功能
pagesize="3"
每一页显示三条记录
onpageindexchanged="dgrdMain_pageindexchanged "
调用第×页的函数为dgrdMain_PageIndexChanged()
runat="server"
/>
</body>
</html>

<script runat="server" language="vb">
subPage_Load
dim objConnection as OleDbConnection
dim objDataAdapter as OleDbDataAdapter
dim objDataSet as DataSet
objConnection=new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath("guestbook.mdb"))
objDataAdapter=new OleDbDataAdapter("select * from guestbook",objConnection)
objDataSet=new DataSet
objDataAdapter.Fill(objDataSet)
dgrdMain.DataSource=objDataSet
dgrdMain.DataBind()
end sub
sub dgrdMain_PageIndexChanged(sender as object,e as datagridpagechangedeventargs)
dgrdMain.CurrentPageIndex = e.NewPageIndex
DataBind
end sub
</script>
<html>
<body>
<asp:DataGrid
id="dgrdMain"
cellpadding="1"
showheader="true"
borderwidth="0"
allowpaging="true"
启用分页功能
pagesize="3"
每一页显示三条记录
onpageindexchanged="dgrdMain_pageindexchanged "
调用第×页的函数为dgrdMain_PageIndexChanged()
runat="server"
/>
</body>
</html>

这样就是最简单的分页,我们可以用参数pagestyle-mode="nextprev/numericpages"来设定是显示上一页、下一页方式还是直接选择页面的数字方式来实现页面跳转。如果是前者我们可以用pagestyle-nextpagetext来设定包含下一页链接的文本,用pagestyle-prevpagetext来设定包含上一页链接的文本;如果是后者我们可以用PagerStyle-PageButtonCount来设定在使用省略号之前显示的页面编号数量(默认是10

今天就说到这里,明天说一下SESSIONCOOKIE

十天学会ASP.NET第十天:

学习目的:学会SESSIONCOOKIE的使用

在各个网页间的变量传递和一些记录用户的登陆信息要用到SESSIONCOOKIE。在ASP.NET中使用COOKIEASP中稍微麻烦一点,因为我们要申明变量。

首先看一下SESSION的使用,基本和ASP差不多
写入一个SESSION

Session["username"])="aa";

S ession("username")="aa"

读取一个SESSINN

string username= Session["username"];

dim username=Session("username")

再来看一下COOKIE的写入:

DateTime dt=DateTime.Now; //需要<%@Import Namespace="System"%>,得到当前时间
HttpCookie mycookie=new HttpCookie("logname");//
申明新的COOKIE变量
mycookie.Value="aa";//
赋值
mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1));//
设定过期时间为1
Response.Cookies.Add(mycookie1);//
写入COOKIE

dim dt as DateTime
dt=DataTime.Now
dim mycookie as HttpCookie
mycookie=new HttpCookie("logname")
mycookie.Value="aa"
mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1))
Response.Cookies.Add(mycookie1)

看一下COOKIE的读取:

HttpCookie mycookie=Request.Cookies["username"];
string username=mycookie.Value;


dim mycookie as HttpCookie
mycookie=Request.Cookies["username"]
dim string=mycookie.Value

到此《十天学会ASP.NET》结束了,时间仓促,还请大家原谅写的不全,实际上我只是带大家入门,学会还要靠自己啊。

学习目的:学会SESSIONCOOKIE的使用

在各个网页间的变量传递和一些记录用户的登陆信息要用到SESSIONCOOKIE。在ASP.NET中使用COOKIEASP中稍微麻烦一点,因为我们要申明变量。

首先看一下SESSION的使用,基本和ASP差不多
写入一个SESSION

Session["username"])="aa";

S ession("username")="aa"

读取一个SESSINN

string username= Session["username"];

dim username=Session("username")

再来看一下COOKIE的写入:

DateTime dt=DateTime.Now; //需要<%@Import Namespace="System"%>,得到当前时间
HttpCookie mycookie=new HttpCookie("logname");//
申明新的COOKIE变量
mycookie.Value="aa";//
赋值
mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1));//
设定过期时间为1
Response.Cookies.Add(mycookie1);//
写入COOKIE

dim dt as DateTime
dt=DataTime.Now
dim mycookie as HttpCookie
mycookie=new HttpCookie("logname")
mycookie.Value="aa"
mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1))
Response.Cookies.Add(mycookie1)

看一下COOKIE的读取:

HttpCookie mycookie=Request.Cookies["username"];
string username=mycookie.Value;


dim mycookie as HttpCookie
mycookie=Request.Cookies["username"]
dim string=mycookie.Value

到此《十天学会ASP.NET》结束了,时间仓促,还请大家原谅写的不全,实际上我只是带大家入门,学会还要靠自己啊。

学习目的:学会用DATAGRID分页显示

虽然说DATAGRID的分页显示效率不怎么高,但是不管怎么说,它是最方便的分页显示,对于做一个留言簿还是相当简单实用的。对于启用分页功能还有一个重要要求,只能在DATADRID控件的数据源实现了ICOLLECTION接口的情况下才能启用分页功能,而DATAREADER没有这个接口,所以必须使用DATATABLE来代替。
<script runat="server" language="c#">
void Page_Load()
{
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source=";
strConnection+=Server.MapPath("guestbook.mdb");
OleDbConnection objConnection=new OleDbConnection(strConnection);
OleDbDataAdapter objDataAdapter=new OleDbDataAdapter("select * from guestbook",objConnection);
DataSet objDataSet=new DataSet();
objDataAdapter.Fill(objDataSet);
dgrdMain.DataSource=objDataSet;
dgrdMain.DataBind();
}
void dgrdMain_PageIndexChanged(Object sender, DataGridPageChangedEventArgs e)
{
dgrdMain.CurrentPageIndex = e.NewPageIndex;
DataBind();
}
</script>
<html>
<body>
<asp:DataGrid
id="dgrdMain"
cellpadding="1"
showheader="true"
borderwidth="0"
allowpaging="true"
启用分页功能
pagesize="3"
每一页显示三条记录
onpageindexchanged="dgrdMain_pageindexchanged "
调用第×页的函数为dgrdMain_PageIndexChanged()
runat="server"
/>
</body>
</html>

<script runat="server" language="vb">
subPage_Load
dim objConnection as OleDbConnection
dim objDataAdapter as OleDbDataAdapter
dim objDataSet as DataSet
objConnection=new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath("guestbook.mdb"))
objDataAdapter=new OleDbDataAdapter("select * from guestbook",objConnection)
objDataSet=new DataSet
objDataAdapter.Fill(objDataSet)
dgrdMain.DataSource=objDataSet
dgrdMain.DataBind()
end sub
sub dgrdMain_PageIndexChanged(sender as object,e as datagridpagechangedeventargs)
dgrdMain.CurrentPageIndex = e.NewPageIndex
DataBind
end sub
</script>
<html>
<body>
<asp:DataGrid
id="dgrdMain"
cellpadding="1"
showheader="true"
borderwidth="0"
allowpaging="true"
启用分页功能
pagesize="3"
每一页显示三条记录
onpageindexchanged="dgrdMain_pageindexchanged "
调用第×页的函数为dgrdMain_PageIndexChanged()
runat="server"
/>
</body>
</html>

这样就是最简单的分页,我们可以用参数pagestyle-mode="nextprev/numericpages"来设定是显示上一页、下一页方式还是直接选择页面的数字方式来实现页面跳转。如果是前者我们可以用pagestyle-nextpagetext来设定包含下一页链接的文本,用pagestyle-prevpagetext来设定包含上一页链接的文本;如果是后者我们可以用PagerStyle-PageButtonCount来设定在使用省略号之前显示的页面编号数量(默认是10

今天就说到这里,明天说一下SESSIONCOOKIE

十天学会ASP.NET第十天:

学习目的:学会SESSIONCOOKIE的使用

在各个网页间的变量传递和一些记录用户的登陆信息要用到SESSIONCOOKIE。在ASP.NET中使用COOKIEASP中稍微麻烦一点,因为我们要申明变量。

首先看一下SESSION的使用,基本和ASP差不多
写入一个SESSION

Session["username"])="aa";

S ession("username")="aa"

读取一个SESSINN

string username= Session["username"];

dim username=Session("username")

再来看一下COOKIE的写入:

DateTime dt=DateTime.Now; //需要<%@Import Namespace="System"%>,得到当前时间
HttpCookie mycookie=new HttpCookie("logname");//
申明新的COOKIE变量
mycookie.Value="aa";//
赋值
mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1));//
设定过期时间为1
Response.Cookies.Add(mycookie1);//
写入COOKIE

dim dt as DateTime
dt=DataTime.Now
dim mycookie as HttpCookie
mycookie=new HttpCookie("logname")
mycookie.Value="aa"
mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1))
Response.Cookies.Add(mycookie1)

看一下COOKIE的读取:

HttpCookie mycookie=Request.Cookies["username"];
string username=mycookie.Value;


dim mycookie as HttpCookie
mycookie=Request.Cookies["username"]
dim string=mycookie.Value

到此《十天学会ASP.NET》结束了,时间仓促,还请大家原谅写的不全,实际上我只是带大家入门,学会还要靠自己啊。

学习目的:学会SESSIONCOOKIE的使用

在各个网页间的变量传递和一些记录用户的登陆信息要用到SESSIONCOOKIE。在ASP.NET中使用COOKIEASP中稍微麻烦一点,因为我们要申明变量。

首先看一下SESSION的使用,基本和ASP差不多
写入一个SESSION

Session["username"])="aa";

S ession("username")="aa"

读取一个SESSINN

string username= Session["username"];

dim username=Session("username")

再来看一下COOKIE的写入:

DateTime dt=DateTime.Now; //需要<%@Import Namespace="System"%>,得到当前时间
HttpCookie mycookie=new HttpCookie("logname");//
申明新的COOKIE变量
mycookie.Value="aa";//
赋值
mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1));//
设定过期时间为1
Response.Cookies.Add(mycookie1);//
写入COOKIE

dim dt as DateTime
dt=DataTime.Now
dim mycookie as HttpCookie
mycookie=new HttpCookie("logname")
mycookie.Value="aa"
mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1))
Response.Cookies.Add(mycookie1)

看一下COOKIE的读取:

HttpCookie mycookie=Request.Cookies["username"];
string username=mycookie.Value;


dim mycookie as HttpCookie
mycookie=Request.Cookies["username"]
dim string=mycookie.Value

到此《十天学会ASP.NET》结束了,时间仓促,还请大家原谅写的不全,实际上我只是带大家入门,学会还要靠自己啊。

原创粉丝点击