一、原因:
在页面上显示数据库中内容,在Web中可以用Response.Write显示。如果将数据库中的数据用字符串连接的方式进行获取将会很占内存的。
除了用Response.Write来显示还可以用div来显示 div的id.InnerHtml=字符串就可以了。
为了解决这个问题我们可以用StringBuilder类,用这个类要添加一个引用using System.Text;
用的方法如下:
StringBuilder sb1 = new StringBuilder();
sb1.Append(字符串);
更好的是用数据绑定控件:如GrideView控件。需要用到的属性是this.GridView1.DataSource = dt;//将数据放到控件中
this.GridView1.DataBind(); //使用方法调用
二、如何使用
1、样式设置
在设计中,可以改变很多属性。
a、可以根据需要显示内容,即可以不把所有数据显示出,即将自动生成字段的对勾去掉,然后再添加BoundField,在后面
的属性中进行修改。
DataField是此字段绑定到的字段,HeaderText是标题内容。别的可以尝试用用!
2、如果想在GrideView控件中再加入控件需要加入一个模版即TemplateField,点击
进入编辑模版页面在显示那选择第一个,如果添加的模版多要选择对应的
模版的第一个。在模版中添加控件即可!
三、我们可以在页面上显示,那我们也应该添加、修改、删除数据等操作!即数据库的操作!
在注册用户时我们可以根据Session进行数据的保存,但是Session只能保存当前用户即用在客户端!在进行修改操作时我们应该根据点击哪行的按钮来绑定
需要的数据。
所以我们要将按钮的一个属性来进行设置:CommandArgument或CommandName(与此控件关联的命令参数!)
因为要动态的获取需要的数据所以命令参数也要是动态的,即'<%#Eval(" 绑定的字段名称 ")%>'
设置好属性后,在此控件的事件中例如按钮事件:
protected void Button1_Click(object sender, EventArgs e)
{
Button btn = sender as Button;
string username=btn.CommandArgument;//将用户名保存住
Response.Redirect("WebForm2.aspx?username="+username);//跳转页面的地址
}
如何在另一个页面接收到即用: string username = Request.QueryString["username"];即可