在(1)提到了如何不编写任何代码实现GridView对数据编辑、分页、删除等功能,但是这种操作存在很大的弊端———SQL语句写在了HTML页面。这样一来造成很大安全隐患,做出的程序很容易会被攻破。当然可以对语句进行加密,另一种就是让SQL语句分离出来(这就用到了自定义GridView——通过编写一些代码来实现各项功能)
GridView控件6种常见类型的列:
源码示例:
.aspx界面:
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" CellPadding="4"
ForeColor="#333333" GridLines="None"
onpageindexchanging="GridView1_PageIndexChanging1" PageSize="5"
AutoGenerateColumns="False"
onrowcancelingedit="GridView1_RowCancelingEdit"
onrowdeleting="GridView1_RowDeleting" onrowediting="GridView1_RowEditing"
onrowupdating="GridView1_RowUpdating">
<AlternatingRowStyle BackColor="White" />
<Columns>
<asp:BoundField DataField="st_id" HeaderText="学号" />
<asp:BoundField DataField="st_name" HeaderText="姓名" />
<asp:BoundField DataField="st_gender" HeaderText="性别" />
<asp:BoundField DataField="st_address" HeaderText="地址" />
<asp:BoundField DataField="st_tel" HeaderText="联系电话" />
<asp:BoundField DataField="st_nation" HeaderText="国家" />
<asp:CommandField HeaderText="选择" ShowSelectButton="True" />
<asp:CommandField ButtonType="Image" CancelImageUrl="~/Images/BtnCancel.gif"
EditImageUrl="~/Images/BtnUpdate.gif" HeaderText="编辑" ShowEditButton="True"
UpdateImageUrl="~/Images/BtnSave.gif" />
<asp:TemplateField HeaderText="删除" ShowHeader="False">
<ItemTemplate>
<asp:ImageButton ID="ImageButton1" runat="server" CommandName="Delete"
ImageUrl="~/Images/BtnDelete.gif"
onclientclick="return confirm('确定删除吗?');" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<%--设置GridView样式,这里是套用内置的样式,在设置界面可以选择自动调用样式--%>
<FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="Center" />
<RowStyle BackColor="#FFFBD6" ForeColor="#333333" />
<SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" />
<SortedAscendingCellStyle BackColor="#FDF5AC" />
<SortedAscendingHeaderStyle BackColor="#4D0000" />
<SortedDescendingCellStyle BackColor="#FCF6C0" />
<SortedDescendingHeaderStyle BackColor="#820000" />
</asp:GridView>
</div>
</form>
</body>
.cs界面:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//调用自定义方法绑定数据到控件(为以后做MVC打下基础)
BindData();
}
}
private void BindData()
{
//这里将数据库连接字符串写在web.co[1] [2] [3] 下一页
[asp-net]编写 Cookie (佚名,02-09)> 编写 Cookie Posted on 2011-02-06 11:52 杨云洲 阅读(55) 评论(0) 编辑 收藏 Cookie 提供了一种在 Web 应用程序中存储用户特定信息(如历史记录或用户首选项)的方法。 Cookie ……
[asp-net]打印网页中的 GridView (佚名,08-11)> 打印网页中的 GridView 本文介绍打印网页中某个GirdView的一种方法。主要思路是将GridView放在一个DIV中,然后将该DIV显示在新的网页中,并用window.print()方法来打印新打开的网页。先将GridView放在DIV中,此DIV就是打印区域。代码 <……
[asp-net]ASP.NET的Cookie跨域问题 (佚名,07-06)Body> 将Cookie的有效范围限制到域。 默认情况下,Cookie 与特定的域相关联。例如,如果您的站点是 www.contoso.com,那么当用户向该站点请求页面时,您编写的Cookie就被发送到服务器。(有特定路径值的Cookie除外) 如……
[asp-net]该不该放弃 AppFabric Caching : Session 引发的问题 (佚名,07-20)Body> 该不该放弃 AppFabric Caching : Session 我所在的上个公司用 Velocity 来缓存数据, 对程序的效率起了很大的帮助,所以我在上个项目里尝试使用了 AppFabric 1.1 Caching (Window Server Ap……
[asp-net]一步一步asp.net_ajax学习 (佚名,05-01)Body> 继续ajax,今天的任务是做一个大师信息的页面,大致的静态页面 以前的做法大致是先做一个大师的母板页,然后分成3个页面,分开做,不过那样重用性太低了,数据库语句也不注意性能优化,导致查询非常慢,而且用户体验不好,这次考虑用ajax做,并且优化查询. 要实现的……