• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > ASP.NET 2.0/3.5中直接操作Gridview控件插入新记录

ASP.NET 2.0/3.5中直接操作Gridview控件插入新记录

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了iis注册asp.net2.0,下载asp.net 2.0,asp net2.0,安装asp.net 2.0,注册asp.net2.0等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
一、简介
从ASP.NET 2.0起引入了一批新的功能强大的视图控件,例如Gridview、FormView和DetailsView等等。通过和数据源控件的简单结合,在许多情况下,仅需要简单的配置方式就可以开发出功能强大的应用程序。但遗憾的是,Gridview控件中并没有提供像在FormView和DetailsView控件中那样直接插入新记录操作的支持。图1给出了典型的使用控件展示数据库数据的情形。
图1 使用GridView控件展示VS2005示例数据库Address表格中的数据

熟悉Gridview控件使用的朋友都知道,图1中一切都齐了,只差一个Insert操作的默认支持。我现在使用的是ASP.NET 3.5,结果一样,仍然没有直接提供对于插入操作的配置支持。
二、解决方案
其实,答案还是有的,这要求对于Gridview控件有更进一步的了解。我们知道Gridview为方便开发人员定制编程提供了大量的模板支持。根据插入操作的一般实现界面,我们可以利用Gridview的footer的模版功能,实现在Gridview控件的最后一行,提供一个空白行给用户输入要输入的记录,从而间接地实现Gridview控件对于插入操作的支持。

三、实例展示
(一)创建示例网站并建立数据库关联
启动Visual Studio 2005/2008并选择“ASP.NET Web Site”模板新创建一个示例网站GridViewExt。在默认页面Default.aspx中拖入一个GridView控件。然后,点击GridView控件右上角的智能感知提示按钮,为此控件配置一个SqlDataSource类型的数据源控件SqlDataSource1。并且,通过简单的向导配置之后,使数据源控件SqlDataSource1创建与示例数据库Depart.mdf的关联,并进一步关联到其中的DepartInfo表格上。
【提示】为了简化起见,示例数据库Depart.mdf中仅包含了一个表格DepartInfo,而且其架构也十分简单(其中字段DepartID为主关键字),如下图2所示:


最后生成的数据源控件SqlDataSource1配置参数(经一定修改)如下所示:
<asp:SqlDataSource ID="SqlDataSource1" runat="[url=javascript:;]server[/url]"
           ConnectionString="<%$ ConnectionStrings:DepartConnectionString %>"
           SelectCommand="SELECT DepartID, DepartName FROM DepartInfo"
           DeleteCommand="Delete from DepartInfo where DepartID=@DepartID"
           InsertC
       >
        <DeleteParameters>
           <asp:Parameter Name="DepartID" Type="Int32" />
        </DeleteParameters>  
      <InsertParameters>
           <asp:Parameter Name="DepartID" Type="Int32" />
           <asp:Parameter Name="DepartName" Type="String" />
       </InsertParameters>        

</asp:SqlDataSource>
(二)修改页面Default.aspx布局
我们的打算是,在让用户进行选择,当用户需要新增一记录时,便点击“添加”按钮,之后在Gridview的最后一行里,显示一个空白行,让用户按字段进行输入。当用户决定不输入新空白记录时,可以按"隐藏"按钮返回,该空白行消失。
要实现以上目的,我们可以充分利用Gridview的footer的模版功能进行自定义,因为表格中仅有一个可编辑列DepartName;所以,我们只需要在此列的footer模版中,定义如下(注意其中加粗部分):
<asp:Button ID="outAdd" runat="Server" Text="添加新记录" nclick="outAdd_Click" />
<asp:GridView ID="GridView1" runat="server" AllowPaging="True"
   AllowSorting="True" AutoGenerateColumns="False" CellPadding="4"ShowFooter =" false"
   DataSourceID="SqlDataSource1" ForeColor="#333333" GridLines="None"DataKeyNames="DepartID">
   <FooterStyle. BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
   <RowStyle. BackC0" numbertype="1" negative="False" hasspace="False" sourcevalue="7" unitname="F" w:st="on">7F6F3" ForeColor="#333333" />
   <Columns>
       <asp:TemplateField ShowHeader="False">
           <EditItemTemplate>
               <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="True"
                   CommandName="Update" Text="Update"></asp:LinkButton>
                <asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False"
                   CommandName="Cancel" Text="Cancel"></asp:LinkButton>
           </EditItemTemplate>
           <ItemTemplate>
               <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False"
                   CommandName="Edit" Text="Edit"></asp:LinkButton>
           </ItemTemplate>
           <FooterTemplate>
               <asp:Button ID="btnAdd" Runat="server" Text="Add" nClick="btnAdd_Click" />  
               <asp:Button ID="btnCancel" Runat="server" Text="Hide" nClick="btnCancel_Click" />
           </FooterTemplate>
       </asp:TemplateField>
       <asp:TemplateField ShowHeader="False">
           <ItemTemplate>
               <asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False"
                   CommandName="Select" Text="Select"></asp:LinkButton>
           </ItemTemplate>
           <ItemTemplate>
               <asp:LinkButton ID="LinkButton3" runat="server" CausesValidation="true"
                   CommandName="Delete" Text="Delete"></asp:LinkButton>
           </ItemTemplate>
       </asp:TemplateField>
       <asp:BoundField DataField="D
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • ASP.NET 修复 IIS 映射具体实现步骤
  • ASP.NET 2.0中的数据操作之九:跨页面的主/从报表
  • ASP.NET 2.0中的数据操作之八:使用两个DropDownList过滤的主/从报表
  • ASP.NET 2.0中的数据操作之七:使用DropDownList过滤的主/从报表
  • ASP.NET2.0使用Enter Key作为默认提交问题分析(附源码)
  • ASP.NET用户注册实战(第11节)
  • asp.net无法获取iis目录的问题解决方法
  • asp.net2.0中css失效的解决方法
  • asp.net不用设置iis实现url重写 类似伪静态路由
  • Asp.net 2.0 无刷新图片上传 显示缩略图 具体实现

相关文章

  • 2017-05-11asp.net 操作excel的实现代码
  • 2017-05-11asp.net中的“按需打印”(打印你需要打印的部分) 实现代码
  • 2017-05-11.net微信开发 如何获取AccessToken
  • 2017-05-11asp.net中SqlCacheDependency缓存技术概述
  • 2017-05-11读写xml所有节点个人小结 和 读取xml节点的数据总结
  • 2017-05-11asp.net分割字符串的几种方法小结
  • 2017-05-11ASP.NET 用户控件的使用介绍
  • 2017-05-11asp.net web.config加密解密方法
  • 2017-05-11ASP.NET获取各级目录Server.MapPath详解全
  • 2017-05-11asp.net 抓取网页源码三种实现方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 生成二维码的开源工具对比(附源码)
    • ASP.NET邮件发送system.Net.Mail案例
    • 在aspx页面引用html页的写法
    • .net get set用法小结第1/3页
    • 初识ASP.NET Mvc5+EF7的奇妙之旅
    • C#获取当前页面的URL示例代码
    • .Net core下直接执行SQL语句并生成DataTable的实现方法
    • ASP与ASP.NET互通COOKIES的一点经验
    • Repeater控件实现编辑、更新、删除等操作示例代码
    • .NET中的IO操作之文件流用法分析

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有