<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="dhjp.aspx.cs" Inherits="_dhjp" %><!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>
    <link href="../../Css/Css.css" rel="stylesheet" type="text/css" />
</head>
<body style="text-align:center;">
    <form id="form1" runat="server">
        <asp:GridView ID="Present" runat="server" Width="80%" AutoGenerateColumns="False" CaptionAlign="Left" AllowPaging="True" OnPageIndexChanging="Present_PageIndexChanging" AutoGenerateEditButton="True" OnRowEditing="Present_RowEditing" OnRowUpdating="Present_RowUpdating" AutoGenerateDeleteButton="True" OnRowDeleting="Present_RowDeleting" DataKeyNames="id" OnRowUpdated="Present_RowUpdated">
            <Columns>
                <asp:CheckBoxField HeaderText="选中" Visible="False"/>
                <asp:TemplateField HeaderText="ID">
                    <ItemTemplate>
                        <%# Eval("id")%>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="会员">
                    <ItemTemplate>
                        <%# Eval("Perid")%>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="兑换礼物">                    <ItemTemplate>
                        <%# Eval("PrizeName")%>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:CheckBoxField HeaderText="是否兑换" DataField="IsGet" />
                <asp:TemplateField HeaderText="兑换日期">
                    <ItemTemplate>
                        <%# Eval("GetDate")%>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView> </form>
</body>
</html>
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 Model.SQLServerDAL;
using System.Web.Configuration;
using Model.Model;
using System.Text;public partial class _dhjp : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
            bind();
    }
    public void bind() 
    {
        Present.DataSource = Blog_PrizesData.GetList();
        Present.DataKeyNames = new string[] { "id" };
        Present.DataBind();
    }
    protected void Present_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        if (e.NewPageIndex == 0)
            Present.PageIndex = 0;
        else
            Present.PageIndex = e.NewPageIndex;
        bind();
    }
    protected void Present_RowEditing(object sender, GridViewEditEventArgs e)
    {
        Present.EditIndex = e.NewEditIndex;
        bind();     }
    protected void Present_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        Alert.AlertRedirect("更新成功", this.Page);
        GridViewRow GVR = this.Present.Rows[e.RowIndex];
        string id = this.Present.DataKeys[e.RowIndex]["id"].ToString();
        bool isNo = ((CheckBox)this.Present.Rows[Present.EditIndex].FindControl("CheckBox1")).Checked;
        
        //CheckBox isNo = (CheckBox)this.Present.DataKeys[e.RowIndex]["CheckBox1"];
        string sql = "update Blog_Prizes set IsGet = " + isNo + " where id = " + id + "";
        Blog_PrizesData.Update(sql);
        Present.EditIndex = -1;
        bind();
        Response.Write("<script>alert('你点击了第行的第列');</script>");        
    }
    protected void Present_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        string id = this.Present.DataKeys[e.RowIndex]["id"].ToString();
        //string id = ((TextBox)(GVR.Cells[0].Controls[0])).Text.Trim();
        string sql = "delete from Blog_Prizes where id = " + id;
        Blog_PrizesData.Update(sql);
        Present.EditIndex = -1;
        bind();    }
    protected void Present_RowUpdated(object sender, GridViewUpdatedEventArgs e)
    {
        Alert.AlertRedirect("更新成功", this.Page);
        Response.Write("<script>alert('你点击了第行的第列');</script>");        //GridViewRow GVR = this.Present.Rows[e.RowIndex];
        //string id = this.Present.DataKeys[e.RowIndex]["id"].ToString();
        //bool isNo = ((CheckBox)this.Present.Rows[Present.EditIndex].FindControl("CheckBox1")).Checked;        //CheckBox isNo = (CheckBox)this.Present.DataKeys[e.RowIndex]["CheckBox1"];
       // string sql = "update Blog_Prizes set IsGet = " + isNo + " where id = " + id + "";
        //Blog_PrizesData.Update(sql);
        //Present.EditIndex = -1;
        //bind();
    }
}
更新不执行。也不抱错。点击后就诚空白了

解决方案 »

  1.   

    Alert.AlertRedirect("更新成功", this.Page);是否已经进行了跳转,未执行下面的代码
      

  2.   


    Response.Write("<script>alert('你点击了第行的第列');</script>");
    这样写比较规范点
    Response.Write("<script>alert('你点击了第行的第列');");
    Response.Write("</"+"script>");是不是把viewstate 关闭了?
      

  3.   

    我不知道我说的对不对啊...但是好像有些格式有问题
    string sql = "update Blog_Prizes set IsGet = " + isNo + " where id = " + id + "";
    是不是应该改成:
    string sql = "update Blog_Prizes set IsGet = ‘" + isNo + "’  where id = ‘" + id + "’";