怎样实现 Gridview 里  点击修改(一个超链接) 跳转到另一个页面,把Gridview里的数据显示在这个页面 , 然后进行修改   给点代码 

解决方案 »

  1.   

    到网上随便下一个web网站,只要不是太扯淡的,都有这样的功能。lz太懒。
      

  2.   

    你把你点击的那一行的id带过去 到修改页面再根据ID查询出这一列的所有信息再进行修改就OK了
      

  3.   

    最好用list<>泛型集合 或者datatable处理,根据鼠标点击“修改”判断是第几列i然后获取list<i>
    然后把这个list或者datatable传到修改页面
      

  4.   

    Gridview传值
    <asp:GridView ID="GridView3" runat="server" AutoGenerateColumns="False" 
                onrowdatabound="GridView3_RowDataBound" >
            <Columns>
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:HyperLink ID="HyperLink1" runat="server"><%#Eval("Name") %></asp:HyperLink>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
            </asp:GridView>
    后台
    protected void GridView3_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            string[] url = { "1.aspx", "2.aspx", "3.aspx" };
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                HyperLink hl = e.Row.FindControl("HyperLink1") as HyperLink;
                hl.NavigateUrl = url[e.Row.RowIndex];//这里超链接只是例子,具体设置为什么在自己修改
            }
        }
      

  5.   

    <asp:GridView ID="GridView1" runat="server" Width="100%" AutoGenerateColumns="False" DataKeyNames="id" BackColor="White" BorderColor="White" BorderStyle="Ridge" BorderWidth="2px" CellPadding="3"  CellSpacing="1" GridLines="None" AllowPaging="True" PageSize="20" OnRowDataBound="GridView1_RowDataBound" >  
     <Columns> 
         <asp:HyperLinkField DataNavigateUrlFields="id" DataNavigateUrlFormatString="Announceedit.aspx?id={0}"
             HeaderText="操作" Text="修改详细" />
     </Columns>  
    <PagerTemplate>
     </PagerTemplate>
     <RowStyle BackColor="#DEDFDE" ForeColor="Black" />
     <FooterStyle BackColor="#C6C3C6" ForeColor="Black" />
     <PagerStyle BackColor="#C6C3C6" ForeColor="Black" HorizontalAlign="Right" />
     <SelectedRowStyle BackColor="Black" Font-Bold="True" ForeColor="Red" />
     <HeaderStyle BackColor="#C6C3C6" Font-Bold="True" ForeColor="#E7E7FF" />
     </asp:GridView>
      

  6.   

    另一个页面
     protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (this.Request.QueryString["id"] != null && this.Request.QueryString["id"].ToString().Trim() != null)
                {
                    this.thisid.Value = this.Request.QueryString["id"].ToString().Trim();//标识添加更新0为添加
                    //绑定数据
                    Bind();
                }
            }
        }
        /// <summary>
        /// 绑定数据
        /// </summary>
        public void Bind()
        {
            announce annou = new announce();
            DataSet ds = annou.getdsforid(this.thisid.Value);
            this.txttitle.Text = ds.Tables[0].Rows[0]["Title"].ToString();
            this.txtcontent.Text = ds.Tables[0].Rows[0]["content"].ToString();
            this.labadmin.Text = ds.Tables[0].Rows[0]["admName"].ToString();
            this.labsettime.Text = ds.Tables[0].Rows[0]["Datetime"].ToString();
            if (ds.Tables[0].Rows[0]["Pass"].ToString().Equals("1"))
            {
                this.chkPass.Checked = false;
            }
        }
        /// <summary>
        /// 重置数据
        /// </summary>
        public void allset()
        {
            this.txttitle.Text = "";
            this.txtcontent.Text = "";
            this.labadmin.Text = "";
            this.labsettime.Text = "";
            this.chkPass.Checked = true;
            
        }    protected void Butretu_Click(object sender, EventArgs e)
        {
            this.Response.Redirect("Announce.aspx");
        }    protected void butsetGo_Click(object sender, EventArgs e)
        {
            string ispass="0";
            if(this.chkPass.Checked==false){
                ispass="1";
            }
            announce annou = new announce();
            if (annou.inserdate(this.thisid.Value, this.txttitle.Text.ToString().Trim(), this.txtcontent.Text.ToString().Trim(), "1", ispass) > 0)
            {
                if (this.thisid.Value.Equals("0"))
                {                this.Label1.Text = "添加成功";
                    allset();
                }
                else
                {
                    this.Response.Write("<script>alert('修改成功');location.href='Announce.aspx';</script>");
                }
            }
        }
      

  7.   

    我把点击的那一行的id 带过去了,  但怎么在修改页面 根据id 查询出这一列的信息  不回写代码啊  给点代码
      

  8.   

    Gridview  生成一个
    <asp:TemplateField HeaderText="detail">
                        <ItemTemplate>
                               <a herf="xxxxx.aspx?id=<%# DataBinder.Eval(Container.DataItem,"Bm_ID")%>'>修改</a>
                        </ItemTemplate>
                    </asp:TemplateField>