我想实现的功能是点击编辑 就会跳转到编辑页  从而修改  点击  添加 就跳转到添加页面   添加我做出来了  修改 请各位指教下 该如何 实现 呢 ????????????
这是我的主页面代码  
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><!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">
    <title>XML 增、删、改和查</title>
    <style type="text/css">
        .style1
        {
            margin-left: 200px;
            width: 600px;
            border-style: solid;
            border-width: 1px;
        }
        body
        {
         width:1000px;
         background-color:#FOFOFO
         }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <table class="style1" border="1">
            <tr>
                <td align="center" style="background-color: Gray;">
                    九朝装饰通讯录系统
                </td>
            </tr>
            <tr>
                <td>
                    <asp:GridView ID="GrTX" runat="server" BorderWidtBackColor="White" 
                        CellPadding="4" ForeColor="#333333" GridLines="None" 
                        onrowdeleted="GrTX_RowDeleted" DataKeyNames="id" 
                        onrowediting="GrTX_RowEditing">
                        <Columns>
                            <asp:CommandField ShowEditButton="True" />
                            <asp:CommandField ShowDeleteButton="True" />
                            <asp:CommandField ShowSelectButton="True" SelectText="详细信息" />
                        </Columns>
                        <FooterStyle BackColor="#1C5E55" ForeColor="White" Font-Bold="True" />
                        <RowStyle BackColor="#E3EAEB" />
                        <SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />
                        <PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />
                        <HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
                        
                        <EditRowStyle BackColor="#7C6F57" />
                        <AlternatingRowStyle BackColor="White" />
                        
                    </asp:GridView>
                </td>            </tr>
            <tr>
                <td>
                    <asp:Button ID="btnAdd" runat="server" Text="增 加" onclick="btnAdd_Click" />
                </td>            </tr>
        </table>
    </div>
    </form>
</body>
</html>
后台代码using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Xml;public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            LoadData();
        }
    }    private void LoadData()
    {
        DataSet ds = new DataSet();
        //将xml数据读入Dataset中
        ds.ReadXml(Server.MapPath("App_Data\\XMLFile.xml"));
        if (ds.Tables.Count > 0)
        {
            GrTX.DataSource = ds.Tables[0].DefaultView;
            GrTX.DataBind();
            //GrTX.DataKeyNames = "id";
        }
    }
    protected void GrTX_SelectedIndexChanged(object sender, EventArgs e)
    {
        
    }
    protected void btnAdd_Click(object sender, EventArgs e)
    {
        Response.Redirect("XmlAdd.aspx");
    }
   
    protected void GrTX_RowEditing(object sender, GridViewEditEventArgs e)
    {
        
    }
}

解决方案 »

  1.   

    default.aspx代码如下:<%@ Page Language="C#" Debug="true" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %><!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">
        <title>无标题页</title>
        <style type="text/css">
            .bg{ 
                 background-image:url('Images/zlbg.jpg'); height:30px;
                 
            }
            .bg1{background-image:url('Images/pbg.jpg'); height:22px;
            
            }
            .bg2{
               background-image:url(' Images/greendiv.jpg');height:25px;
            }
            .btn2{
                background-image:url('Images/bgButton.jpg'); background-repeat:no-repeat
            }
        </style>
        <script>setInterval("jnkc.innerHTML=new Date().toLocaleString()+' 星期'+'日一二三四五六'.charAt(new Date().getDay());",1000);
    </script>
    </head>
    <body style="background-image:url('Images/bg.jpg'); color:White">
        <form id="form1" runat="server">
        <center>
        <div style=" width:100%; height:30px; text-align:right"><a href="Login.aspx"><span style=" font-size:15px; font-weight:bolder; color:White">退出登录</span></a></div>
            <div style=" width:100%; height:50px">&nbsp;<asp:Label ID="Label6" runat="server" Text="Label"></asp:Label>
            欢迎登录!现在时间是:<span id="jnkc"></span></div>
            <div style=" width:60%; height:100%">
            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Width="100%" OnRowCancelingEdit="GridView1_RowCancelingEdit" OnRowEditing="GridView1_RowEditing" OnRowDeleting="GridView1_RowDeleting" OnRowUpdating="GridView1_RowUpdating" OnRowDataBound="GridView1_RowDataBound" AllowPaging="True" OnPageIndexChanging="GridView1_PageIndexChanging" BackColor="White" BorderColor="#999999" BorderStyle="None" BorderWidth="1px" CellPadding="3" GridLines="Vertical" PageSize="5">
                <Columns>
                    <asp:TemplateField HeaderText="数据录入时间">
                       
                        <ItemTemplate>
                            <asp:Label ID="Label1" runat="server" Text='<%# Bind("Name") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="进账(元)">
                        <EditItemTemplate>
                            <asp:TextBox ID="TextBox2" Width="130" runat="server" Text='<%# Bind("Phone") %>'></asp:TextBox>
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:Label ID="Label2" runat="server" Text='<%# Bind("Phone") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="开支(元)">
                        <EditItemTemplate>
                            <asp:TextBox ID="TextBox4" Width="130" runat="server" Text='<%# Bind("BirthDate") %>'></asp:TextBox>
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:Label ID="Label4" runat="server" Text='<%# Bind("BirthDate") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="管理" ShowHeader="False">
                        <EditItemTemplate>
                            <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="True" CommandName="Update"
                                Text="更新"></asp:LinkButton>
                            <asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Cancel"
                                Text="取消"></asp:LinkButton>
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Edit"
                                Text="编辑"></asp:LinkButton>
                            <asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Delete"
                                Text="删除"></asp:LinkButton>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
                <RowStyle CssClass="bg1" BackColor="#EEEEEE" ForeColor="Black" />
                <PagerStyle CssClass="bg2" BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" />
                <HeaderStyle CssClass="bg" BackColor="#000084" Font-Bold="True" ForeColor="White"/>
                <FooterStyle BackColor="#CCCCCC" ForeColor="Black" />
                <SelectedRowStyle BackColor="#008A8C" Font-Bold="True" ForeColor="White" />
                <AlternatingRowStyle BackColor="Gainsboro" />
            </asp:GridView>
            <br />
            <asp:TextBox ID="txtName" runat="server" BorderWidth="0px" Visible="False"></asp:TextBox>
           
            <asp:TextBox ID="txtEmail" runat="server" BorderWidth="0px" Visible="False"></asp:TextBox><br />
            
                    <fieldset>
               <legend style="color:Red;"><span style="color: white">添加功能</span></legend>
               <table width="100%" style="height:100%; text-align:center">
                    <tr valign="middle">
                        <td> 进账:<asp:TextBox ID="txtPhone" runat="server" BorderWidth="0px"></asp:TextBox>元
                            
               </td>
                    </tr>
                    <tr>
                        <td> 支出:<asp:TextBox ID="txtBirthDate" runat="server" BorderWidth="0px"></asp:TextBox>元</td>
                    </tr>
                    <tr> <td colspan="2"> <asp:Button ID="btnADD" runat="server" Text="添加" OnClick="btnADD_Click" BorderStyle="None" CssClass="btn2" 
                    Height="21px"  Width="72px" /></td></tr>
               </table>
               </fieldset>
                </div>
                </center>
        </form>
    </body>
    </html>
    -----------------------------------------------------------------------------
      

  2.   

    default.aspx.cs代码如下:
    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Collections.Generic;
    using System.Xml;public partial class _Default : System.Web.UI.Page 
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["name"] == null)
            {
                Response.Redirect("Login.aspx");
            }
            Label6.Text = Session["name"].ToString(); ;
            if (!IsPostBack)
            {
                Show();
            }
        }
        //查询
        protected void Show()
        {
            XmlDocument doc = new XmlDocument();
            doc.Load(Server.MapPath("~/App_Data/phone.xml"));//加载XML文件        XmlElement xe = doc.DocumentElement;        List<LinkMan> list = new List<LinkMan>();
            foreach (XmlNode item in xe.ChildNodes)
            {
                LinkMan man = new LinkMan();
                man.BirthDate = item.SelectSingleNode("BirthDate").InnerText;
                //man.City = item.SelectSingleNode("City").InnerText;
                //man.Email = item.SelectSingleNode("Email").InnerText;
                man.Name = item.SelectSingleNode("Name").InnerText;
                man.Phone = item.SelectSingleNode("Phone").InnerText;
                list.Add(man);
            }        GridView1.DataSource = list;
            GridView1.DataBind();
        }
        //添加
        protected void btnADD_Click(object sender, EventArgs e)
        {
            if (txtPhone.Text == "")
            {
                Response.Write("<script>alert('支出不能为空')</script>");
                return;
            }
            else if (txtBirthDate.Text == "")
            {
                Response.Write("<script>alert('进账不能为空')</script>");
                return;
            }
            else
            {
                XmlDocument doc = new XmlDocument();
                doc.Load(Server.MapPath("~/App_Data/phone.xml"));            XmlElement xe = doc.DocumentElement;
                XmlElement x = doc.CreateElement("LinkMan");
                xe.AppendChild(x);            //确认是否重复
                XmlNode xn = xe.SelectSingleNode("LinkMan[Name='" + txtName.Text + "']");
                
                XmlElement xName = doc.CreateElement("Name");
                xName.InnerText = Convert.ToString(System.DateTime.Now);
                x.AppendChild(xName);                        XmlElement xBirthDate = doc.CreateElement("BirthDate");
                xBirthDate.InnerText = txtBirthDate.Text;
                x.AppendChild(xBirthDate);            XmlElement xPhone = doc.CreateElement("Phone");
                xPhone.InnerText = txtPhone.Text;
                x.AppendChild(xPhone);          
                doc.Save(Server.MapPath("~/App_Data/phone.xml"));
                Response.Write("<script>alert('添加成功')</script>");
                txtBirthDate.Text = "";
                txtPhone.Text = "";            Show();
            }    }
        protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
        {
            GridView1.EditIndex = e.NewEditIndex;
            Show();
        }
        protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
        {
            GridView1.EditIndex = -1;
            Show();
        }
        protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            XmlDocument doc = new XmlDocument();
            doc.Load(Server.MapPath("~/App_Data/phone.xml"));
            XmlElement xe = doc.DocumentElement;        string name = (GridView1.Rows[e.RowIndex].FindControl("Label1") as Label).Text;
            XmlNode xn = xe.SelectSingleNode("LinkMan[Name='" + name + "']");        xe.RemoveChild(xn);
            doc.Save(Server.MapPath("~/App_Data/phone.xml"));
            Show();
        }
        protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            XmlDocument doc = new XmlDocument();
            doc.Load(Server.MapPath("~/App_Data/phone.xml"));
            XmlElement xe = doc.DocumentElement;                string name = (GridView1.Rows[e.RowIndex].FindControl("Label1") as Label).Text;
            XmlNode xn = xe.SelectSingleNode("LinkMan[Name='"+name+"']");        xn.SelectSingleNode("Phone").InnerText = (GridView1.Rows[e.RowIndex].FindControl("TextBox2") as TextBox).Text;
            xn.SelectSingleNode("BirthDate").InnerText = (GridView1.Rows[e.RowIndex].FindControl("TextBox4") as TextBox).Text;
           
            doc.Save(Server.MapPath("~/App_Data/phone.xml"));
            Response.Write("<script>alert('修改成功')</script>");
            GridView1.EditIndex = -1;
            Show();
                }
        protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if(e.Row.RowType==DataControlRowType.DataRow)
            {
                
                LinkButton lb = e.Row.FindControl("LinkButton2") as LinkButton;
                if (lb.Text == "删除")
                {
                    lb.Attributes.Add("onclick","return confirm('确认是否删除吗?')");
                }
            }
        }
        protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            GridView1.PageIndex = e.NewPageIndex;
            Show();
        }
        
    }