Twitter火的一塌糊涂,国内的克隆站点也是风生水起,真的是“人多力量大”。
前端时间注册才注册了Twitter,但感觉速度比较慢,一直没用。
又注册了“饭否”,感受了一下,说实话——总的感觉就是,没啥意思。
对于这么一个2.0的东西,我看到的是,使用者大多是对于互联网比较关注,或者IT相关行业的人员。对于其他行业的人来说,目前为止我估计有60~70%的网民可能还没完全弄明白RSS是怎么回事,要他们来关注并使用这么一个2.0的东西好像比较牵强。
我在饭否的好友总共没几个,但每次打开“我的首页”都是几大屏几大屏的更新,诸如一些"天亮了,睡了"之类的好友消息,你说我是看还是不看,看吧实在没啥意义,不看吧那使用这项服务的意义又在哪里呢?
Twitter是要给大家的思想和日常行为留下一个轨迹,同时能和好友去分享这个轨迹。不过对这个思想我不完全认同,我觉得这只是作为互联网从业者在2.0风潮鼓动下的一厢情愿的想法。
很简单,即便是再好的朋友,我也不想一天24小都知道他在干嘛,或者在想什么,这个对我来讲没有必要。2.0所前调的互动,参与,分享,这个很棒,但就目前状况而言,是不是“分享”的有点过度呢?有必要分享这么多吗?你分享的东西朋友真正需要吗?
看看饭否上的一些“名人”的页面,好友几百个,不知道是否真的所有的好友的信息都在关注,如果都在关注,那就太强了,如果就只有一部分在关注,那所谓的“好友”似乎又失去了原有的意义。
所以我感觉,2.0时代是一个“好友”过剩的时代,其实这种过剩并不是由2.0本身所造成的,2.0强调的是沟通,为了需要去沟通,而现在好多站点仅仅是让大家为了沟通而沟通,或者说我们的用户仅仅是为了沟通而沟通,看看饭否上有的朋友一天几十甚至上百的更新,看起来真的是满繁荣的,但“浮华背后”呢?
我觉得我们现在的2.0概念有点过了,好像已经2.5了,甚至250了。
Tags: SNS, Twitter, 饭否
Global.asax文件
Global.asax总共有7个事件,分别为:
Application_Start,Application_End,Application_BeginRequest,Application_EndRequest,Application_Error
Session_Start,Session_End
代码:
实现功能:1,利用Application对象定义一个全局变量 同时用Application_Start事件在应用程序开始被请求的时候就将其初始化 2,利用Application_BeginRequest统计访问量 3,利用Session_Start事件统计在线人数
Global.asax
<%@ Application Language=”C#” %>
<script runat=”server”>
void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
String Myconnstring = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” + Server.MapPath(”.”) + “..\\data\\score.mdb;”;
Application["ConnString"] = Myconnstring;
Application["PageViewer_Count"]=0;
Application["Online_Count"]=0;
}
void Application_BeginRequest(object sender, EventArgs e)
{
Application["PageViewer_Count"] = (Int32)Application["PageViewer_Count"] + 1;
}
void Session_Start(object sender, EventArgs e)
{
Application["Online_Count"] = (Int32)Application["Online_Count"] + 1;
}
void Session_End(object sender, EventArgs e)
{
Application["Online_Count"] = (Int32)Application["Online_Count"] - 1;
}
</script>
UseforGlobal.aspx
<%@ Page Language=”C#” AutoEventWireup=”true” CodeFile=”UseforGlobal.aspx.cs” Inherits=”UseforGlobal” %>
<%@ Import Namespace=”System.Data” %>
<%@ Import Namespace=”System.Data.OleDb” %>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml” >
<head runat=”server”>
<script runat=server>
OleDbConnection Myconn;
public void Page_Load(Object src, EventArgs e)
{
string Myconnstring = (string)Application["ConnString"];
Myconn = new OleDbConnection(Myconnstring);
Myconn.Open();
PageViewer_Count.Text = Application["PageViewer_Count"].ToString();
Online_Count.Text = Application["Online_Count"].ToString();
Data_Bind();
}
ICollection DataSource()
{
string strsel = “select * from score”;
OleDbDataAdapter MyAdapter = new OleDbDataAdapter(strsel, Myconn);
DataSet ds = new DataSet();
MyAdapter.Fill(ds, “score”);
return ds.Tables["score"].DefaultView;
}
public void Data_Bind()
{
score.DataSource = DataSource();
score.DataBind();
}
</script>
<title>UseforGolbal</title>
</head>
<body>
<form id=”form1″ runat=”server”>
<div>
<asp:DataGrid ID=”score” runat=server>
<Columns>
<asp:BoundColumn HeaderText=”Name” DataField=”s_Name”/>
</Columns>
</asp:DataGrid><br><br>
PageViewer_Count:<asp:Label ID=”PageViewer_Count” runat=server/><br><br>
Online_Count:<asp:Label ID=”Online_Count” runat=server/>
</div>
</form>
</body>
</html>
Tags: Asp.net
Application,Session,Cookie
Application:设置全局变量,所设变量在整个应用程序范围内有效。
有 Application.Lock() and Application.UnLock() 两个方法。
Session:在Asp中session要依赖于cookie才可运行,但在Asp.net中设置web.config sessionState cookieless="true"则可使session不依赖于cookie
Cookie:实例化一个cookie HttpCookie xxx=new HttpCookie("xxx")
设置单值的cookie,cookie.Value="xxx"
设置多值的cookie,cookie.Value.Add("KeyWord","value")
应用cookie Response.AppendCookie("cookiename")
读取cookie HttpCookie xxx=Request.Cookies("xxx")
设置cookie的过期时间
DateTime xxx=DateTime.Now;
TimeSpan xx=new TimeSpan(x,x,x,x) 分别为天,小时,分钟,秒
cookie.Expires=xxx.Add(xx)
代码:
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<script runat=server>
//Application的应用
public void Page_Load(Object src, EventArgs e)
{
Application.Lock();
Application["User_Count"] = (Int32)Application["User_Count"] + 1;
Application.UnLock();
Count.Text = Application["User_Count"].ToString();
//设置session
Session["Name"] = "John";
Name.Text = Session["Name"].ToString();
//建立一个cookie实例,并对其赋值
HttpCookie cookie = new HttpCookie("John");
DateTime dt = DateTime.Now;
TimeSpan ts = new TimeSpan(0, 0, 2, 0);
cookie.Expires = dt.Add(ts);
cookie.Values.Add("name", "John");
cookie.Values.Add("age", "26");
cookie.Values.Add("sex", "male");
Response.AppendCookie(cookie);
//读取cookie
HttpCookie readcookie = Request.Cookies["John"];
cookie1.Text = readcookie.Values["name"].ToString();
cookie2.Text=readcookie.Values["age"].ToString();
cookie3.Text = readcookie.Values["sex"].ToString();
}
</script>
<title>Application</title>
</head>
<body>
<form id="form1" runat="server">
<div>
The count of viewer is:<asp:Label ID="Count" ForeColor=red runat=server/><br>
Example of Session,Name is:<asp:Label ID="Name" ForeColor=blue runat=server/>
<br>Name:<asp:Label ID="cookie1" runat=server/><br>
Age:<asp:Label ID="cookie2" runat=server/><br>
Sex:<asp:Label ID="cookie3" runat=server/><br>
</div>
</form>
</body>
</html>
Tags: Asp.net
诺顿:我们的全球病毒防御系统发现了一个病毒,上天有好生之德,我们已将其隔离。就让它在隔离区安度余生吧。
Tags: 诺顿
这两天连绵不断的雨天,和持续闷热的高温预示着上海的梅雨季节已经到了。
对于一个在北方长大,但喜欢夏天的我,这样的天气对我没什么影响。
但近两天却有另一件事情,始终在破坏这我的心情。
重新申请了电信宽带大概有两个礼拜,我到今天为止,维修电话我已经打过四个了。
1,刚装好(1M的带宽),可下载速度至高只能达到30K。我的第一反应就是机器中毒了,首先查毒,无果。继而重装系统,打全了补丁,杀毒,再上网,依然是之前的速度。我知道不是自己机器的问题了,于是打了第一个报修电话。
结果:我的线路所使用的电信的一个什么接口有问题,维修人员换了一个接口,ok正常了。
2,突然不能拨号了,“猫”的Link灯不亮。我打了第二个报修电话。
结果:维修人员来检测了一下,电话线没信号,断定是线路问题,然后下楼搞了一下,ok,能拨上去了,于是我下楼吃饭(为了等电信的维修人员我饿到7:00PM,生怕别人来了家里没人又不知道得等到什么时候)。
3,吃饭回来打开电脑,发现网络传输速度很慢,下载测试,又是最多30K。打了第三个报修电话。
结果:还是线路问题。
4,就在前边的问题解决后的一天,早上起床打开电脑,又拨不上去。重启Modem,重启路由器,重启电脑,把所有能拔下来的接口都重新插拔了一便,还是不行。第四个报修电话。
结 果:运气倒是挺好的,刚好有个维修人员说就在我们这个小区,过了没多久就过来了,检测了以后说是线路没问题,维修人员让我重启Modem,我说已经重启过 很多次了,他说是关掉不要马上开,等个10多分钟左右再起,然后跟维修人员抽了两只烟,聊了聊天,他抱怨这两天太忙了(看来跟我一起郁闷的有不少人)。大 概15分钟左右后重启,ok,可以拨了,速度也还正常。
真不知道下次出现问题会在什么时候,老天保佑!
线路问题也就算了,毕竟这些东西,虽然有定期维护,但这么庞大的一个网络,难免也会出现点问题。
可电信这娇气的“猫”就让我有点火了,您还真“金枝玉叶”天气稍微热点就要死,况且也不是特别热啊,我在家的时候空调都是开着的。听说别人说以前电信自带的是中兴或是华为的Modem,不知道什么时候换成了现在这个没人知道的鸟牌子。
估计鸟牌子厂家是花了大力气了,不过请客吃饭,加上最后塞红包的钱,比起“电信配套”所带来的利润,应该还是相当值的。
最后有一点欣慰的是,到目前为止,维修人员的态度都还不错。
Tags: 电信
在Donews blogger中我估计算是落伍的,虽然知道Twitter有一段时间了,但今天刚刚注册。
可注册之后在使用过程中,感觉好像网页打开速度不是很理想,确切的说应该是挺慢的!
试了一下其他网站,正常。
用Net Meter看了一下流量,在没有其他任何程序占用带宽的情况下,仍旧很慢。
作为一个用户我的体验就是:其他的还不知道,但速度比较慢。
Tags: Twitter
DataList控件
包含的模板:ItemTemplate,HeaderTemplate,FooterTemplate,AlternatingItemTemplate,SeparatorTemplate,SelectedItemTemplate,EditItemTemplate
同时DataList控件提供了Repeater不具备的RepeatDriection and RepeatColumns属性
RepeatDirection可以取两个值:Horizontal and Vertical(默认为Vertical)
学习内容:SelectedItemTemplate,EditItemTemplate
注意:在OnItemCommand的响应函数中score.SelectedIndex=e.Item.ItemIndex这句如果没有的话,也可以正常运行,只是在最后的结果中要点击连接两次才会显示SelectedItemTemplate中的内容。
代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="DataGridSort.aspx.cs" Inherits="DataGridSort" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<script runat=server>
OleDbConnection Myconn;
public void Page_Load(Object src, EventArgs e)
{
//连接语句
string Myconnstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath(".") + "..\\data\\score.mdb;";
Myconn = new OleDbConnection(Myconnstring);
Myconn.Open();
if (!IsPostBack)
{
BindGrid();
}
}
//创建默认视图
ICollection Createtable()
{
string strsel = "select * from score";
OleDbDataAdapter MyAdapter = new OleDbDataAdapter(strsel, Myconn);
DataSet ds=new DataSet();
MyAdapter.Fill(ds, "score");
return ds.Tables["score"].DefaultView;
}
//数据绑定
public void BindGrid()
{
score.DataSource = Createtable();
score.DataBind();
}
//select命令响应函数
public void DataList_ItemCommand(Object sender, DataListCommandEventArgs e)
{
score.SelectedIndex = e.Item.ItemIndex;
BindGrid();
}
//编辑命令响应函数
public void DataList_EditCommand(Object sender, DataListCommandEventArgs e)
{
score.EditItemIndex = e.Item.ItemIndex;
BindGrid();
}
//取消命令响应函数
public void DataList_CancelCommand(Object sender, DataListCommandEventArgs e)
{
score.EditItemIndex = -1;
BindGrid();
}
//更新命令响应函数
public void DataList_UpdateCommand(Object sender, DataListCommandEventArgs e)
{
string strname=((Label)e.Item.FindControl("lblname")).Text;
int intmath=Int32.Parse(((TextBox)e.Item.FindControl("tbmath")).Text);
int intenglish=Int32.Parse(((TextBox)e.Item.FindControl("tbenglish")).Text);
int intchinese=Int32.Parse(((TextBox)e.Item.FindControl("tbchinese")).Text);
string strupdate = "Update score set s_Math=" +intmath+ ",s_English=" +intenglish+ ",s_Chinese=" +intchinese+ " where s_Name=’" +strname+ "’";
OleDbCommand Mycommand = new OleDbCommand(strupdate, Myconn);
Mycommand.ExecuteNonQuery();
score.EditItemIndex = -1;
BindGrid();
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DataList ID="score"
HeaderStyle-BackColor=ActiveCaptionText
AlternatingItemStyle-BackColor=ActiveCaption
runat=server
OnItemCommand="DataList_ItemCommand"
OnEditCommand="DataList_EditCommand"
OnCancelCommand="DataList_CancelCommand"
OnUpdateCommand="DataList_UpdateCommand"
SelectedItemStyle-BackColor=red
RepeatLayout=Table>
<ItemTemplate>
Name:<%# DataBinder.Eval(Container.DataItem,"s_Name") %>
<asp:LinkButton Text="Details" id="btnselect" CommandName="select" runat=server/>
<asp:LinkButton Text="Edit" ID="btnedit" CommandName="edit" runat=server/>
</ItemTemplate>
<SelectedItemTemplate>
Name:<%# DataBinder.Eval(Container.DataItem,"s_Name") %><br>
Math:<%# DataBinder.Eval(Container.DataItem,"s_Math") %><br>
English:<%# DataBinder.Eval(Container.DataItem,"s_English") %><br>
Chinese:<%# DataBinder.Eval(Container.DataItem,"s_Chinese") %><br>
</SelectedItemTemplate>
<EditItemTemplate>
Name:<asp:Label ID="lblname" Text=’<%# DataBinder.Eval(Container.DataItem,"s_Name") %>’ runat=server/><br>
Math:<asp:TextBox ID="tbmath" Text=’<%# DataBinder.Eval(Container.DataItem,"s_Math") %>’ runat=server/><br>
English:<asp:TextBox ID="tbenglish" Text=’<%# DataBinder.Eval(Container.DataItem,"s_English") %>’ runat=server/><br>
Chinese:<asp:TextBox ID="tbchinese" Text=’<%# DataBinder.Eval(Container.DataItem,"s_Chinese") %>’ runat=server/><br>
<asp:LinkButton ID="lblupdate" Text="Update" CommandName="Update" runat=server/>
<asp:LinkButton ID="lblcancel" Text="Cancel" CommandName="Cancel" runat=server/>
</EditItemTemplate>
</asp:DataList>
</div>
</form>
</body>
</html>
DataList的分页功能
现在的水平,程序只能照教材抄,自己来理一下程序的思路。
注:在程序调试的过程中,在return ds.Tables["score"].DefaultView处出现了一个错误,提示“需要输入符号”,当时没能解决,关了电脑,除去吃了个饭,回来再打开,调试,ok了。
1,分页所需要的数据:PageSize,PageCount,RecordCount,PageIndex,CurrentPage(给ViewState["PageIndex"]付值用)
2,编写函数去得到相应数据
3,首先通过StartIndex取得需要显示的页的第一条记录的Index值 StartIndex=CurrentPage*PageSize
然后通过MyAdapter.Fill()方法获得要显示的页的默认视图MyAdapter.Fill(ds,StartIndex,PageSize,"score")
4, 绑定数据。对是否是首页或是末页进行判断(通过CurrentPage<PageCount-1 and CurrentPage>0进行判断),如果是首页则设置lbnPrevPage.Enabled=false,如果是末页则设置 lbnNextPage.Enabled=false
5,使用swith case函数对要进行上翻页还是下翻页进行判断,上翻和下翻的命令用e.CommandName来取得
6,最后设置ViewState["PageIndex"]=CurrentPage
代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="DataListPageIndex.aspx.cs" Inherits="DataListPageIndex" %>
<%@ Import Namespace="System.Data"%>
<%@ Import Namespace="System.Data.OleDb"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<script runat=server>
OleDbConnection Myconn;
int PageSize, ItemCount, RecordCount, PageCount, CurrentPage;
public void Page_Load(Object src, EventArgs e)
{
PageSize = 2;
//连接语句
string Myconnstring="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath(".")+"..\\data\\score.mdb;";
Myconn=new OleDbConnection(Myconnstring);
Myconn.Open();
//第一次请求执行
if (!IsPostBack)
{
ListBind();
CurrentPage = 0;
ViewState["PageIndex"] = 0;
//计算记录条数
RecordCount = CalculateRecord();
lblRecordCount.Text = RecordCount.ToString();
//计算总共有多少页
PageCount = RecordCount / PageSize;
lblPageCount.Text = PageCount.ToString();
ViewState["PageCount"] = PageCount;
}
}
//计算记录条数
public int CalculateRecord()
{
int intCount;
string strCount = "select Count(*) as co from score";
OleDbCommand Mycommand = new OleDbCommand(strCount, Myconn);
OleDbDataReader dr = Mycommand.ExecuteReader();
if (dr.Read())
{
intCount = Int32.Parse(dr["co"].ToString());
}
else
{
intCount = 0;
}
dr.Close();
return intCount;
}
//创建数据源
ICollection DataSource()
{
//设定读取的起始位置
int startindex;
startindex = CurrentPage*PageSize;
string strsel="select * from score";
OleDbDataAdapter MyAdapter=new OleDbDataAdapter(strsel,Myconn);
DataSet ds=new DataSet();
MyAdapter.Fill(ds,startindex,PageSize,"score");
return ds.Tables["score"].DefaultView;
}
//数据绑定
public void ListBind()
{
score.DataSource = DataSource();
score.DataBind();
lbnNextPage.Enabled = true;
lbnPrevPage.Enabled = true;
if (CurrentPage == PageCount - 1) lbnNextPage.Enabled = false;
if (CurrentPage == 0) lbnPrevPage.Enabled = false;
lbnCurrentPage.Text = (CurrentPage + 1).ToString();
}
//Page_OnClick事件处理
public void Page_OnClick(Object sender,CommandEventArgs e)
{
PageCount = (int)ViewState["PageCount"];
CurrentPage = (int)ViewState["PageIndex"];
//判断翻页方向
string cmd=e.CommandName;
switch(cmd)
{
case "Next":
if(CurrentPage<(PageCount-1)) CurrentPage++;
break;
case "Prev":
if(CurrentPage>0) CurrentPage–;
break;
}
ViewState["PageIndex"]=CurrentPage;
ListBind();
}
</script>
<title>DataListPageIndex</title>
</head>
<body>
<form id="form1" runat="server">
<div>
Total<asp:Label ID="lblRecordCount" runat=server/>record Current<asp:Label ID="lbnCurrentPage" ForeColor=Red runat=server/>/<asp:Label ID="lblPageCount" ForeColor=red runat=server/>page
<asp:DataList ID="score" AlternatingItemStyle-BackColor=ControlDarkDark HeaderStyle-BackColor=AntiqueWhite runat=server>
<ItemTemplate>
Name:<%# DataBinder.Eval(Container.DataItem,"s_Name")%>
</ItemTemplate>
</asp:DataList>
<asp:LinkButton ID="lbnPrevPage" OnCommand="Page_OnClick" CommandName="Prev" runat=server Text="PrevPage"/>
<asp:LinkButton ID="lbnNextPage" OnCommand="Page_OnClick" CommandName="Next" runat=server Text="NextPage"/>
</div>
</form>
</body>
</html>
Tags: Asp.net
Blogger:为什么又封我blog啊?
GFW:还问我为什么,自己不知道吗?
Blogger:自从上次您教育了我之后,我已经很小心了啊。刚刚看到你们家里有一些无良的老板在虐带员工,我想写出来让大家评评理啊。我知道您忙,事情多,这些“繁杂的家务事”可能没时间管,所以我就帮帮您啊。
GFW:靠,你闲的蛋疼是吧,那个老板是我兄弟,欺负几个小工怎么了,我们家就这样,我们家房子你看你能租就租,不能租就走(整个“中原”都是我们家,我看你能走到哪)。记住,以后别说我不喜欢听的,说了就封你,少跟我理论,没商量。
Blogger:……
刚刚从Googlereader的订阅中看到Isaac Lifelog的一个更新,关于山西黑砖窑的。

点击链接过去,就是无法访问。
看来GFW这帮哥们也是没日没夜在干啊。
同志们,辛苦了!
Tags: GFW
DataGrid 控件
用到的属性 :AllowSorting,OnSortCommand
6.用Sort方法进行排序
注意:如果要设置排序数序(DESC),则在IsPostBack函数中必须指定默认的排序字段,否则会出现找不到DESC字段错误。
if (!IsPostBack)
{
ViewState["SortField"] = "s_Name";
BindGrid();
}
Sort方法的代码
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="DataGridSort.aspx.cs" Inherits="DataGridSort" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<script runat=server>
OleDbConnection Myconn;
public void Page_Load(Object src, EventArgs e)
{
string Myconnstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath(".") + "..\\data\\score.mdb;";
Myconn = new OleDbConnection(Myconnstring);
Myconn.Open();
if (!IsPostBack)
{
ViewState["SortField"] = "s_Name";
BindGrid();
}
}
ICollection Createtable()
{
string strsel = "select * from score";
OleDbDataAdapter MyAdapter = new OleDbDataAdapter(strsel, Myconn);
DataSet ds=new DataSet();
MyAdapter.Fill(ds, "score");
return ds.Tables["score"].DefaultView;
}
public void BindGrid()
{
DataView dv = (DataView)Createtable();
dv.Sort = (string)ViewState["SortField"]+" DESC";
score.DataSource = dv;
score.DataBind();
}
public void DataGrid_Sort(Object Sender, DataGridSortCommandEventArgs e)
{
ViewState["SortField"] = (string)e.SortExpression;
BindGrid();
}
</script>
<title>DataGridSort</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DataGrid ID="score" AutoGenerateColumns=false HeaderStyle-BackColor=ActiveCaption AlternatingItemStyle-BackColor=AliceBlue AllowSorting=true OnSortCommand="DataGrid_Sort" runat=server>
<Columns>
<asp:BoundColumn HeaderText="Name" DataField="s_Name" SortExpression="s_Name" ReadOnly=true/>
<asp:BoundColumn HeaderText="Math" DataField="s_Math" SortExpression="s_Math"/>
<asp:BoundColumn HeaderText="English" DataField="s_English" SortExpression="s_English"/>
<asp:BoundColumn HeaderText="Chinese" DataField="s_Chinese" SortExpression="s_Chinese"/>
</Columns>
</asp:DataGrid>
</div>
</form>
</body>
</html>
Repeater控件
Repeater控件的五种模板:HeaderTemplate,ItemTemplate,AlternatingItemTemplate,SeparatorTemplate,FooterTemplate
Repeater控件的代码
<%@ Page Language="C#" ContentType="text/html" ResponseEncoding="gb2312" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css" class="1">
<!–
a:link { text-decoration: none}
a:active { text-decoration: none }
a:visited { text-decoration: none }
–>
</style>
<script language="c#" runat="server">
public void Page_Load(Object src,EventArgs e)
{
string Myconnstring="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath(".")+".\\data\\score.mdb;";
OleDbConnection Myconn=new OleDbConnection(Myconnstring);
Myconn.Open();
string strsel="select * from score";
OleDbDataAdapter MyAdapter=new OleDbDataAdapter(strsel,Myconn);
DataSet ds=new DataSet();
MyAdapter.Fill(ds,"score");
score.DataSource=ds;
score.DataMember="score";
score.DataBind();
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>DataGrid</title>
</head>
<body>
<form id="Form1" runat="server">
<asp:Repeater id="score" runat="server">
<HeaderTemplate>
This is Header<br>
</HeaderTemplate>
<ItemTemplate>
Name:<%# DataBinder.Eval(Container.DataItem,"s_Name")%><br>
Chinese:Name:<%# DataBinder.Eval(Container.DataItem,"s_Chinese")%><br>
</ItemTemplate>
<AlternatingItemTemplate>
Name:<font color=red><%# DataBinder.Eval(Container.DataItem,"s_Name")%></font><br>
Chinese:Name:<font color=red><%# DataBinder.Eval(Container.DataItem,"s_Chinese")%></font><br>
</AlternatingItemTemplate>
<SeparatorTemplate>
<hr>
</SeparatorTemplate>
<FooterTemplate>
This is Footer
</FooterTemplate>
</asp:Repeater>
</form>
</body>
<html>
</html>
Tags: Asp.net
在报纸上看到两篇报道
1.杭萧钢构信息披露舞弊案有了结果。两个人被抓了,一个是2004年刚进公司,目前负责信息披露的“管理人员”,一个是“某娱乐城”经理。
怎么看,怎么八竿子打不着。只能说这俩哥们倒霉,不过,也许,可能一笔丰厚的“抚恤金”是要的。
2.韩国富豪打人,最少3年监禁。富豪儿子在酒吧跟人发生口角,进而肢体“碰撞”,富豪老爸带了一群保镖,把酒吧几个服务生带出扁了一通。
最少3年监禁!
换个环境呢?
舞弊的杭萧放到韩国——被抓的也许就是八竿子打的着的人
打人的富豪移民中国——公安同志都是兄弟,一顿饭的事情
Tags: 和谐社会