日期:2014-05-16  浏览次数:21085 次

ASP.NET—007:GridView数据的保存

原文作者:杨友山

原文地址:http://blog.csdn.net/yysyangyangyangshan/article/details/22438077

前面看了如何增加和删除Gridview数据,但是无论怎样Gridview的数据除了展示给用户外,还需要进行编辑后保存的。

也就是将Gridview的数据获取下来传到后台,然后后台经过识别和处理获得数据,保存至数据库中。
主要原理还是前面的$.ajax方式传数据。要用到的就是JS的对象了。传到后台的是字符串,经过截取,获得数据。


这里需要做一个准备工作,安装asp.net ajax ,因为项目中的关于json的操作需要用到
C:\Program Files\Microsoft ASP.NET\ASP.NET 2.0 AJAX Extensions\v1.0.61025下的
System.Web.Extensions.dll和System.Web.Extensions.Design.dll,
asp.net ajax安装包下载:http://download.csdn.net/detail/yysyangyangyangshan/7114393


直接上代码,重要的代码还是JS获取gridview的数据的方法。
前台
<!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 id="Head1" runat="server">
    <title></title>
</head>
<body id="Body1" runat="server">
     <form id="Form1" runat="server">
      <asp:Button ID="btnAdd" runat="server" OnClientClick="return SaveBatch();return false;" Text="批量保存"/>
      
      <asp:GridView ID="dgPersons" runat="server" EnableViewState="false" CellPadding="4"
       GridLines="Horizontal" PageChange="TextBox" AutoGenerateColumns="False" SortMode="Total" ForeColor="#333333"
       CellSpacing="1" Width="60%" ShowNoRecordTip="True">
     <Columns>


       <asp:TemplateField>
       <ItemTemplate>
         <%#Container.DataItemIndex +1%>
         <input id="hideID" type="hidden" runat="server" value='<%#Eval("p_id")%>' />
       </ItemTemplate>
       <HeaderTemplate>
           <span>序号</span>
       </HeaderTemplate>
       </asp:TemplateField>


       <asp:TemplateField>
       <ItemTemplate>
        <span> <%#Eval("p_name")%></span>
       </ItemTemplate>
       <HeaderTemplate>
           <span>姓名</span>
       </HeaderTemplate>
       </asp:TemplateField>


        <asp:TemplateField>
       <ItemTemplate>
        <span> <%#Eval("p_age")%></span>
       </ItemTemplate>
       <HeaderTemplate>
           <span>年龄</span>
       </HeaderTemplate>
       </asp:TemplateField>
      
       <asp:TemplateField>
       <ItemTemplate>
        <span> <%#Eval("p_sex")%></span>
       </ItemTemplate>
       <HeaderTemplate>
           <span>性别</span>
       </HeaderTemplate>
       </asp:TemplateField>


        <asp:TemplateField>
       <ItemTemplate>
        <asp:TextBox ID="txtRemark" runat="server" Text='<%#Eval("p_remark")%>'  Width="120px" Height="30px"/>
       </ItemTemplate>
       <HeaderTemplate>
           <span>备注</span>
       </HeaderTemplate>
       </asp:TemplateField>
             
       <asp:TemplateField>
       <ItemTemplate>
       <a href ="JavaScript:viod(0)" onclick="javascript:SaveSingle(this)">保存</a>
       </ItemTemplate>
       <HeaderTemplate>