none
急求孟老师及各位大师:关于gridview的CommandField添加含数据列内容的删除确认提示的问题 RRS feed

  • 问题

  • 本人在使用gridview中想根据行中指定列的值加入自定义的删除确认,在实践中查阅了部分资料,结合实例,写下了如下的语句,但是总是运行不正常,主要是不能正确提取指定列的text。另外在button中不知道应该如何正确编写,求教各位老师根据下面的代码实例实现在RowDataBound、 RowDeleting 和 button 中“你确认要删除:'" + q + "吗?” 的确认删除效果。

    本人环境。net 4.0

    另外求教如何定制获取gridview某行某列的text。

    <Columns>
    <asp:CommandField ShowDeleteButton="True" ShowEditButton="True"    ButtonType="Button" />
    <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" ReadOnly="True" SortExpression="ID" />

    //未实现
    protected
    void GridView_RowDataBound(object sender, GridViewRowEventArgs e) { string q = e.Row.Cells[9].Text;.;//此行未编写完成 一直不知道如何获取GridView.Rows[e.RowIndex].Cells[9].Text ;如此编写提示错误说indx超出范围,不理解提示意思。 LinkButton btn = (LinkButton)e.Row.Cells[0].Controls[0];//删除按钮 btn.Attributes.Add("onclick","'javascript:return confirm(你确认要删除:'" + q + "吗?"); }


    //已经实现 protected void GridView_RowDeleting(object sender, GridViewDeleteEventArgs e) { //gridview点删除时同时删除文件 string q = GridView.Rows[e.RowIndex].Cells[9].Text ; //string q = GridView.SelectedRow.Cells[9].Text; //另外请教下这两行语句的区别 string path = Server.MapPath("~/1soft/"); FileInfo fi1 = new FileInfo(path + q); fi1.Delete(); } //未实现 protected void Button4_Click(object sender, EventArgs e) { //GridView g = (GridView)Form.FindControl("GridView"); //string gt = (GridView)GridView.;//此行未编写完成 一直不知道如何获取GridView.Rows[e.RowIndex].Cells[9].Text ; //Button gtt = (Button)GridView.FindControl("Button4"); //gtt.OnClientClick = "return confirm(确认要删除" + gt + "吗?)"; }

    谢谢。


    绝不不懂装懂,不因为自己的问题低级而感到不好意思,踏踏实实的虚心学习。





    2011年8月13日 13:36

答案

  • 若要在非CommandFiled自訂Delete按鈕,可依照下列步驟進行:(以Button為例)

    1. 設定Button的CommandName為Delete。

    <asp:TemplateField>
    	<ItemTemplate>
    	<asp:Button ID="Button4" runat="server" CommandName="delete" 
    		onclick="Button4_Click" Text="Button" />
    </ItemTemplate>
    


    2.在GridView的RowDataBind事件加入刪除確認的提示訊息。

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
    	if (e.Row.RowType == DataControlRowType.DataRow)
    	{
    		string q = e.Row.Cells[1].Text;
    		Button btn = e.Row.Cells[4].Controls[1] as Button;
    		btn.Text = "删除:'" + q;
    		btn.OnClientClick = "return confirm('你确认要删除:" + q + "?');";
    	}
    }
    


    下圖為執行結果,請依照您的情境調整Cells的index。

     


    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/
    2011年8月14日 8:25

  • 已经实现提示效果,但是点击确定后无法删除数据行。另外,当单击“编辑”按钮后,对应的“取消”按钮也被提示,导致无法正常返回。

    绝不不懂装懂,不因为自己的问题低级而感到不好意思,踏踏实实的虚心学习。


    沒想到還有後面這個Bug

    以下是根據您的需求重新寫過一遍的代碼

    CommandField我拆成編輯、刪除兩欄了

    <%@ Page Debug="true" Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs"
      Inherits="_Default" %>
    
    <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
    <!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">
    </head>
    <body>
      <form id="form1" runat="server">
      
         <asp:SqlDataSource runat="server" ID="ObjectDataSourceshujubianji" 
           ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
           SelectCommand="SELECT * FROM [shujubianji]" 
           DeleteCommand="DELETE FROM [shujubianji] WHERE [ID] = @ID" 
           InsertCommand="INSERT INTO [shujubianji] ([栏目], [分类], [名称], [作者], [审核], [备注]) VALUES (@栏目, @分类, @名称, @作者, @审核, @备注)" 
           UpdateCommand="UPDATE [shujubianji] SET [栏目] = @栏目, [分类] = @分类, [名称] = @名称, [作者] = @作者, [审核] = @审核, [备注] = @备注 WHERE [ID] = @ID" >
           <DeleteParameters>
             <asp:Parameter Name="ID" Type="Int32" />
           </DeleteParameters>
           <InsertParameters>
             <asp:Parameter Name="栏目" Type="String" />
             <asp:Parameter Name="分类" Type="String" />
             <asp:Parameter Name="名称" Type="String" />
             <asp:Parameter Name="作者" Type="String" />
             <asp:Parameter Name="审核" Type="String" />
             <asp:Parameter Name="备注" Type="String" />
           </InsertParameters>
           <UpdateParameters>
             <asp:Parameter Name="栏目" Type="String" />
             <asp:Parameter Name="分类" Type="String" />
             <asp:Parameter Name="名称" Type="String" />
             <asp:Parameter Name="作者" Type="String" />
             <asp:Parameter Name="审核" Type="String" />
             <asp:Parameter Name="备注" Type="String" />
             <asp:Parameter Name="ID" Type="Int32" />
           </UpdateParameters>
         </asp:SqlDataSource>
     <asp:GridView ID="GridView" runat="server" AllowPaging="True" 
        AllowSorting="True" AutoGenerateColumns="False" CellPadding="4" 
        DataKeyNames="ID" DataSourceID="ObjectDataSourceshujubianji" 
        ForeColor="#333333" GridLines="None" OnRowDataBound ="GridView_RowDataBound" >
        <AlternatingRowStyle BackColor="White" />
        <Columns>
         <asp:CommandField ShowEditButton="True" 
         ButtonType="Button" HeaderText="編輯" />
         <asp:CommandField ButtonType="Button" HeaderText="刪除" ShowDeleteButton="True"  />
         <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" 
         ReadOnly="True" SortExpression="ID" />
         <asp:BoundField DataField="栏目" HeaderText="栏目" SortExpression="栏目" />
         <asp:BoundField DataField="分类" HeaderText="分类" SortExpression="分类" />
         <asp:BoundField DataField="名称" HeaderText="名称" SortExpression="名称" />
         <asp:BoundField DataField="作者" HeaderText="作者" SortExpression="作者" />
         <asp:BoundField DataField="审核" HeaderText="审核" SortExpression="审核" />
         <asp:BoundField DataField="备注" HeaderText="备注" SortExpression="备注" />
         <asp:TemplateField ShowHeader="False">
         <ItemTemplate>
          <asp:Button ID="Button4" runat="server" CommandName="Delete" Text="Button" />
         </ItemTemplate>
         </asp:TemplateField>
          <asp:CommandField ShowDeleteButton="True" />
        </Columns>
        <EditRowStyle BackColor="#2461BF" />
        <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
        <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
        <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
        <RowStyle BackColor="#EFF3FB" />
        <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
        <SortedAscendingCellStyle BackColor="#F5F7FB" />
        <SortedAscendingHeaderStyle BackColor="#6D95E1" />
        <SortedDescendingCellStyle BackColor="#E9EBEF" />
        <SortedDescendingHeaderStyle BackColor="#4870BE" />
        </asp:GridView>
    
    
    
    
      </form>
    </body>
    </html>
    
    

     

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Data;
    using System.Data.OleDb;
    using System.Data.Common;
    public partial class _Default : System.Web.UI.Page
    {
    
      protected void Page_Load(object sender, EventArgs e)
      {
    
    
      }
    
      protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e)
      {
       
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
    
            string id = e.Row.Cells[2].Text;//抓ID文字
            string q = e.Row.Cells[5].Text;//抓名称文字
                 
            
            //抓CommandField的刪除Button
            if (e.Row.Cells[1].Controls.Count > 0)
            {
              Button deleteBtn = (Button)e.Row.Cells[1].Controls[0];
              deleteBtn.Text = "删除:" + q;
              deleteBtn.OnClientClick = "if (confirm('你确认要删除:" + q + "?')) javascript:__doPostBack('GridView','Delete$" + e.Row.RowIndex.ToString() + "'); else return false;";
    
            }  
    
    
            //抓Button4
            Button Button4 = (Button)e.Row.FindControl("Button4");
            Button4.OnClientClick = "if (confirm('你确认要删除:" + q + "?')) javascript:__doPostBack('GridView','Delete$" + e.Row.RowIndex.ToString() + "'); else return false;";
         
        }
    
    
      }
    
    }
    

     


    Shadowと愉快なコード達
    2011年8月14日 9:24

全部回复

  • 試試看這樣是不是你要的。

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
    	if (e.Row.RowType == DataControlRowType.DataRow)
    	{
    		string q = e.Row.Cells[9].Text;
    		LinkButton btn = new LinkButton();
    		btn.Text = "删除:'" + q;
    		btn.OnClientClick = "return confirm('你确认要删除:" + q + "?');";
    		e.Row.Cells[9].Controls.Add(btn);
    	}
    }
    



    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/
    2011年8月13日 15:19
  • 试用以后显示的是gridview中Cells[9].Text的属性被修改btn.Text = "删除:'" + q并且点击提示是否要确认删除;  但是点击CommandField中的删除按钮时没有弹出提示框,直接删除了。我很想知道如何点击删除按钮时同时提示

    或者说LinkButton btn = new LinkButton();如何确定为是CommandField中的删除按钮  原来用的此句总是报错 LinkButton btn = (LinkButton)e.Row.Cells[0].Controls[0];//删除按钮

    另麻烦大师尽量全解我的全部提问,以令我彻悟。万分感谢terrychuang。希望各位大师继续。谢谢

     


    绝不不懂装懂,不因为自己的问题低级而感到不好意思,踏踏实实的虚心学习。

     


    2011年8月13日 15:31
  • 我這邊執行結果是可以跳出先詢問是否刪除的視窗。


    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/
    2011年8月14日 4:03
  • 您的方法是可以跳出询问窗口  但是 如您图示 他显示在第3列        我想问的是   在点击CommandField 的删除按钮时提示这个窗口   另外 我设计了一个删除按钮模板列 我想知道在它的 Button4_Click(object sender, EventArgs e)中获取他所在行的GridView.Rows[e.RowIndex].Cells[9].Text    再次感谢terrychuang。  在线等谢谢。

    <Columns>
    <asp:CommandField ShowDeleteButton="True" ShowEditButton="True"    ButtonType="Button" />
    <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" ReadOnly="True" SortExpression="ID" />
     


    绝不不懂装懂,不因为自己的问题低级而感到不好意思,踏踏实实的虚心学习。

    • 已建议为答案 TerryChuang 2011年8月14日 4:35
    • 取消建议作为答案 TerryChuang 2011年8月14日 4:35
    2011年8月14日 4:09
  • 试用以后显示的是gridview中Cells[9].Text的属性被修改btn.Text = "删除:'" + q并且点击提示是否要确认删除;  但是点击CommandField中的删除按钮时没有弹出提示框,直接删除了。我很想知道如何点击删除按钮时同时提示

    或者说LinkButton btn = new LinkButton();如何确定为是CommandField中的删除按钮  原来用的此句总是报错 LinkButton btn = (LinkButton)e.Row.Cells[0].Controls[0];//删除按钮

    另麻烦大师尽量全解我的全部提问,以令我彻悟。万分感谢terrychuang。希望各位大师继续。谢谢

     


    绝不不懂装懂,不因为自己的问题低级而感到不好意思,踏踏实实的虚心学习。

     


    不好意思,您剛剛說的是說沒有彈出提示框,直接刪除了,你想知道如何點選刪除按鈕同時出現提示,看來我誤解你的意思,我把我測試的完整程式碼貼上來,若您有興趣或許可以試著執行看看,不過我的範例用到的是Northwind資料庫,您可以到Microsoft下載。

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="GV.aspx.cs" Inherits="WebApplication1.GV" %>
    
    <!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>
    </head>
    <body>
      <form id="form1" runat="server">
      <div>
      
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
          DataKeyNames="RegionID" DataSourceID="SqlDataSource1" 
          onrowdatabound="GridView1_RowDataBound" >
          <Columns>
            <asp:BoundField DataField="RegionID" HeaderText="RegionID" ReadOnly="True" 
              SortExpression="RegionID" />
            <asp:BoundField DataField="RegionDescription" HeaderText="RegionDescription" 
              SortExpression="RegionDescription" />
            <asp:BoundField DataField="RegionID" HeaderText="Delete" ReadOnly="True" 
              SortExpression="RegionID" />
          </Columns>
        </asp:GridView>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
          ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>" 
          SelectCommand="SELECT * FROM [Region]" 
          DeleteCommand="DELETE FROM [Region] WHERE [RegionID] = @RegionID" 
          InsertCommand="INSERT INTO [Region] ([RegionID], [RegionDescription]) VALUES (@RegionID, @RegionDescription)" 
          UpdateCommand="UPDATE [Region] SET [RegionDescription] = @RegionDescription WHERE [RegionID] = @RegionID">
          <DeleteParameters>
            <asp:Parameter Name="RegionID" Type="Int32" />
          </DeleteParameters>
          <InsertParameters>
            <asp:Parameter Name="RegionID" Type="Int32" />
            <asp:Parameter Name="RegionDescription" Type="String" />
          </InsertParameters>
          <UpdateParameters>
            <asp:Parameter Name="RegionDescription" Type="String" />
            <asp:Parameter Name="RegionID" Type="Int32" />
          </UpdateParameters>
        </asp:SqlDataSource>
      
      </div>
      </form>
    </body>
    </html>
    
    

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    namespace WebApplication1
    {
      public partial class GV : System.Web.UI.Page
      {
        protected void Page_Load(object sender, EventArgs e)
        {
    
        }
    
        protected void Page_Init(object sender, EventArgs e)
        {
          if (IsPostBack)
          {
            GridView1.DataBind();
            foreach (GridViewRow row in GridView1.Rows)
            {
              string q = row.Cells[2].Text;
              LinkButton btn = new LinkButton();
              btn.Text = "删除:'" + q;
              btn.OnClientClick = "return confirm('你确认要删除:" + q + "?');";
              btn.CommandName = "Delete";
              row.Cells[2].Controls.Add(btn);
            }
          }
        }
        protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
          if (e.Row.RowType == DataControlRowType.DataRow)
          {
            string q = e.Row.Cells[2].Text;
            LinkButton btn = new LinkButton();
            btn.Text = "删除:'" + q;
            btn.OnClientClick = "return confirm('你确认要删除:" + q + "?');";
            btn.CommandName = "Delete";
            e.Row.Cells[2].Controls.Add(btn);
          }
        }
    
        
      }
    }
    



    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/
    2011年8月14日 4:19
  • 谢谢terrychuang不辞辛苦的解释,但是看了您的代码后,觉得您的代码LinkButton btn = new LinkButton();是新加入了一列,  只是我想要的是在原来gridview中自动生成的<asp:CommandField ShowDeleteButton="True" ShowEditButton="True"    ButtonType="Button" />中“ShowDeleteButton="True"”这个deletebutton中使用删除提示。

    绝不不懂装懂,不因为自己的问题低级而感到不好意思,踏踏实实的虚心学习。
    2011年8月14日 4:37
  • 您的方法是可以跳出询问窗口  但是 如您图示 他显示在第3列        我想问的是   在点击CommandField 的删除按钮时提示这个窗口   另外 我设计了一个删除按钮模板列 我想知道在它的 Button4_Click(object sender, EventArgs e)中获取他所在行的GridView.Rows[e.RowIndex].Cells[9].Text    再次感谢terrychuang。  在线等谢谢。

    <Columns>
    <asp:CommandField ShowDeleteButton="True" ShowEditButton="True"    ButtonType="Button" />
    <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" ReadOnly="True" SortExpression="ID" />
     


    绝不不懂装懂,不因为自己的问题低级而感到不好意思,踏踏实实的虚心学习。

    如果是這個問題,或許您可以考慮將CommandFiled轉成Template,接著就可以用下列程式碼達成你要的需求:

    if (e.Row.RowType == DataControlRowType.DataRow)
          {
            string q = e.Row.Cells[2].Text;
            Button btn = e.Row.Cells[0].Controls[1] as Button;
            btn.OnClientClick = "return confirm('你确认要删除:" + q + "?');";
          }
    



    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/
    2011年8月14日 4:38
  • 在不转成Template的情况下,我想要的效果可以完成吗?谢谢TerryChuang 

     <ItemTemplate>
                                                <asp:Button ID="Button4" runat="server" CommandName="delete"
                                                    onclick="Button4_Click" Text="Button" />
                                            </ItemTemplate>

    protected void Button4_Click(object sender, EventArgs e)

    {
    //GridView g = (GridView)Form.FindControl("GridView");
    //string gt = (GridView)GridView.;//此行未编写完成 一直不知道如何获取GridView.Rows[e.RowIndex].Cells[9].Text ;
    //Button gtt = (Button)GridView.FindControl("Button4");
    //gtt.OnClientClick = "return confirm(确认要删除" + gt + "吗?)";
    }

    另外请教在button4中我如何实现此删除提示功能

    绝不不懂装懂,不因为自己的问题低级而感到不好意思,踏踏实实的虚心学习。

    2011年8月14日 4:44
  • 若不轉成Template,可以使用下列程式碼來完成刪除前確認的需求:

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
          if (e.Row.RowType == DataControlRowType.DataRow)
          {
            string q = e.Row.Cells[2].Text;
            Button btn = e.Row.Cells[0].Controls[0] as Button;
            btn.Text = "删除:'" + q;
            btn.OnClientClick = "if (confirm('你确认要删除:" + q + "?')) javascript:__doPostBack('GridView1','Delete$" + e.Row.RowIndex.ToString() + "'); else return false;";
          }
        }    
    



    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/
    2011年8月14日 5:00
  • 若不轉成Template,可以使用下列程式碼來完成刪除前確認的需求:

     

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    
      {
    
       if (e.Row.RowType == DataControlRowType.DataRow)
    
       {
    
        string q = e.Row.Cells[2].Text;
    
        Button btn = e.Row.Cells[0].Controls[0] as Button;
    
        btn.Text = "删除:'" + q;
    
        btn.OnClientClick = "if (confirm('你确认要删除:" + q + "?')) javascript:__doPostBack('GridView1','Delete$" + e.Row.RowIndex.ToString() + "'); else return false;";
    
       }
    
      }  
    
    


     


    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/

    测试代码后出现

    代码更改的是编辑按钮的位置不是删除按钮。


    绝不不懂装懂,不因为自己的问题低级而感到不好意思,踏踏实实的虚心学习。
    2011年8月14日 5:12
  •  

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplicationCSharp.WebForm1" %>
     
    <!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>
        <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.2.min.js"></script>
        <script>
     
          
     
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
                onrowdatabound="GridView1_RowDataBound" EnableViewState="false">
                <Columns>
                    <asp:TemplateField HeaderText="Checked">
                        <ItemTemplate>
                            <asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="True" 
                                oncheckedchanged="CheckBox1_CheckedChanged" Checked='<%#Eval("Checked") %>' />
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:BoundField HeaderText="Verify" ReadOnly="True" DataField="Verify" />
                    <asp:CommandField ButtonType="Button" HeaderText="Delete" 
                        ShowDeleteButton="True" />
                </Columns>
            </asp:GridView>
        </div>
        </form>
    </body>
    </html>
    
      protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
            {
                if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    Button c = (Button)e.Row.Cells[2].Controls[0];
                    string s = ClientScript.GetPostBackClientHyperlink(GridView1, "Delete$" + e.Row.RowIndex);
                    c.OnClientClick = "if(!confirm('确认要删除吗?')){return false};";
                }
            }

     


    如果你有其它意见或私下交流,请直接发送maledong_work@foxmail.com;或者讨论(Talk)
    If you do not have QQ, please open the page and download it and click the image to talk or leave message for me.
    下载MSDN桌面工具(Vista,Win7)
    下载Technet桌面小工具(Vista,Win7)
    慈善点击,点击此处

    2011年8月14日 5:32
  • 非常感谢wei_dong的解答,但是因为本人不擅长使用jQuery对script也不习惯,加上为了学习,所以……
    绝不不懂装懂,不因为自己的问题低级而感到不好意思,踏踏实实的虚心学习。
    2011年8月14日 5:37
  •  

     测试代码后出现

    代码更改的是编辑按钮的位置不是删除按钮。


    绝不不懂装懂,不因为自己的问题低级而感到不好意思,踏踏实实的虚心学习。

    那是我測試的情境,您可以自行依照您的GridView Column來調整index,以您的貼圖來看,應該改為:

     

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
     {
      if (e.Row.RowType == DataControlRowType.DataRow)
      {
      string q = e.Row.Cells[2].Text;
      Button btn = e.Row.Cells[1].Controls[0] as Button;
      btn.Text = "删除:'" + q;
      btn.OnClientClick = "if (confirm('你确认要删除:" + q + "?')) javascript:__doPostBack('GridView1','Delete$" + e.Row.RowIndex.ToString() + "'); else return false;";
      }
     } 
    
    


     


    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/
    2011年8月14日 5:53

  • 我之前更改cells的值了 但是这样错提示  也正是这个index超出范围弄得自己一头雾水 另外 我觉得是不是<asp:CommandField ShowDeleteButton="True" ShowEditButton="True"    ButtonType="Button" /> 这个生成的列就是cells[0]而区分不出删除按钮来。

    指定的参数已超出有效值的范围。
    参数名: index

    说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
    异常详细信息: System.ArgumentOutOfRangeException: 指定的参数已超出有效值的范围。
    参数名: index
    源错误:

    行 214: {
    行 215: string q = e.Row.Cells[9].Text;
    行 216: Button btn = e.Row.Cells[1].Controls[0] as Button;
    行 217: btn.Text = "删除:'" + q;
    

    我也试着把Controls[0]的值修改了,但是也提示错误。 修改后提示

    未将对象引用设置到对象的实例。

    说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
    异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
    源错误:

    行 215:   string q = e.Row.Cells[9].Text;
    行 216:   Button btn = e.Row.Cells[0].Controls[1] as Button;
    行 217:   btn.Text = "删除:'" + q;
    行 218:   btn.OnClientClick = "if (confirm('你确认要删除:" + q + "?')) javascript:__doPostBack('GridView','Delete$" + e.Row.RowIndex.ToString() + "'); else return false;";
    行 219:  }

     


    绝不不懂装懂,不因为自己的问题低级而感到不好意思,踏踏实实的虚心学习。


    2011年8月14日 5:58
  • 看來這樣用猜的不是辦法,如果您的程式碼不會太長,您要不要把您的程式碼完整的貼上來,這樣大家比較好幫您看看問題出在哪,謝謝。
    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/
    2011年8月14日 6:05
  • <asp:Panel ID="Panel2" runat="server" Visible="False">
    <asp:GridView ID="GridView" runat="server" AllowPaging="True" 
            AllowSorting="True" AutoGenerateColumns="False" CellPadding="4" 
            DataKeyNames="ID" DataSourceID="ObjectDataSourceshujubianji" 
            ForeColor="#333333" GridLines="None" OnRowDeleting="GridView_RowDeleting" OnRowDataBound ="GridView_RowDataBound" >
            <AlternatingRowStyle BackColor="White" />
            <Columns>
             <asp:CommandField ShowDeleteButton="True" ShowEditButton="True" 
              ButtonType="Button" />
             <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" 
              ReadOnly="True" SortExpression="ID" />
             <asp:BoundField DataField="栏目" HeaderText="栏目" SortExpression="栏目" />
             <asp:BoundField DataField="分类" HeaderText="分类" SortExpression="分类" />
             <asp:BoundField DataField="名称" HeaderText="名称" SortExpression="名称" />
             <asp:BoundField DataField="作者" HeaderText="作者" SortExpression="作者" />
              <asp:BoundField DataField="审核" HeaderText="审核" SortExpression="审核" />
             <asp:BoundField DataField="备注" HeaderText="备注" SortExpression="备注" />
             <asp:TemplateField ShowHeader="False">
              <ItemTemplate>
               <asp:Button ID="Button4" runat="server" CommandName="delete" Text="Button" />
              </ItemTemplate>
             </asp:TemplateField>
            </Columns>
            <EditRowStyle BackColor="#2461BF" />
            <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
            <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
            <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
            <RowStyle BackColor="#EFF3FB" />
            <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
            <SortedAscendingCellStyle BackColor="#F5F7FB" />
            <SortedAscendingHeaderStyle BackColor="#6D95E1" />
            <SortedDescendingCellStyle BackColor="#E9EBEF" />
            <SortedDescendingHeaderStyle BackColor="#4870BE" />
           </asp:GridView>
    </asp:Panel>
    
    ====================================================================================
    
    protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e)
     {
      if (e.Row.RowType == DataControlRowType.DataRow)
      {
       string q = e.Row.Cells[4].Text;
       Button btn = e.Row.Cells[0].Controls[1] as Button;
       btn.Text = "删除:'" + q;
       btn.OnClientClick = "if (confirm('你确认要删除:" + q + "?')) javascript:__doPostBack('GridView','Delete$" + e.Row.RowIndex.ToString() + "'); else return false;";
      }
    
    


    绝不不懂装懂,不因为自己的问题低级而感到不好意思,踏踏实实的虚心学习。
    2011年8月14日 6:14
  • 生成后简略图
    绝不不懂装懂,不因为自己的问题低级而感到不好意思,踏踏实实的虚心学习。
    2011年8月14日 6:20
  • 生成后简略图
    绝不不懂装懂,不因为自己的问题低级而感到不好意思,踏踏实实的虚心学习。

    请尝试我的方法,我测试成功了
    如果你有其它意见或私下交流,请直接发送maledong_work@foxmail.com;或者讨论(Talk)
    If you do not have QQ, please open the page and download it and click the image to talk or leave message for me.
    下载MSDN桌面工具(Vista,Win7)
    下载Technet桌面小工具(Vista,Win7)
    慈善点击,点击此处
    2011年8月14日 6:34
  •     非常感谢wei_dong您的方法,但是您的方法也是在添加了新的列,我想学习的是不添加列的情况,直接用gridview提供的commandfield中使用删除

    <asp:CommandField ShowDeleteButton="True" ShowEditButton="True"    ButtonType="Button" />
    提请大家注意下这条语句。 ShowDeleteButton="True" 


    绝不不懂装懂,不因为自己的问题低级而感到不好意思,踏踏实实的虚心学习。

    2011年8月14日 6:38
  • //未实现 protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e)

    {
    string q = e.Row.Cells[9].Text;.;//此行未编写完成 一直不知道如何获取GridView.Rows[e.RowIndex].Cells[9].Text ;如此编写提示错误说indx超出范围,不理解提示意思。
    LinkButton btn = (LinkButton)e.Row.Cells[0].Controls[0];//删除按钮
    btn.Attributes.Add("onclick","'javascript:return confirm(你确认要删除:'" + q + "吗?");


     

    绝不不懂装懂,不因为自己的问题低级而感到不好意思,踏踏实实的虚心学习。

    注意我黑色部分:

    protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e)

    {

       if(e.Row.RowType==DataControlRowType.DataRow)

        {
     string q = e.Row.Cells[9].Text;.;//此行未编写完成 一直不知道如何获取GridView.Rows[e.RowIndex].Cells[9].Text ;如此编写提示错误说indx超出范围,不理解提示意思。
    LinkButton btn = (LinkButton)e.Row.Cells[0].Controls[0];//删除按钮
    btn.Attributes.Add("onclick","'javascript:return confirm(你确认要删除:'" + q + "吗?");

       }
     }


    如果你有其它意见或私下交流,请直接发送maledong_work@foxmail.com;或者讨论(Talk)
    If you do not have QQ, please open the page and download it and click the image to talk or leave message for me.
    下载MSDN桌面工具(Vista,Win7)
    下载Technet桌面小工具(Vista,Win7)
    慈善点击,点击此处
    2011年8月14日 7:04
  •     非常感谢wei_dong您的方法,但是您的方法也是在添加了新的列,我想学习的是不添加列的情况,直接用gridview提供的commandfield中使用删除

    <asp:CommandField ShowDeleteButton="True" ShowEditButton="True"    ButtonType="Button" />
    提请大家注意下这条语句。 ShowDeleteButton="True" 


     

    绝不不懂装懂,不因为自己的问题低级而感到不好意思,踏踏实实的虚心学习。

    依照您提供的代码


    请试试这个

     protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e)
     {
    
     if (e.Row.RowType == DataControlRowType.DataRow)
     {
      string q = e.Row.Cells[4].Text;//抓名称文字
    
      //抓CommandField的刪除Button
      Button btn = e.Row.Cells[0].Controls[2] as Button;
      btn.Text = "删除:" + q;
      btn.OnClientClick = "return confirm('你确认要删除:" + q + "?')";
    
    
      //抓Button4
      Button Button4 = e.Row.FindControl("Button4") as Button ;
      Button4.OnClientClick = "return confirm('你确认要删除:" + q + "?')";
    
     }
    
    
     }
    

     


    Shadowと愉快なコード達


    2011年8月14日 7:20
  • protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e)
    {
    if (e.Row.RowType == DataControlRowType.DataRow)

    {
    string q = e.Row.Cells[1].Text;//抓ID文字
      //抓CommandField的刪除Button
      Button btn = e.Row.Cells[0].Controls[2] as Button;
      btn.Text = "删除:" + q;
      btn.OnClientClick = "return confirm('你确认要删除:" + q + "?')";

      //抓Button4
      Button Button4 = e.Row.FindControl("Button4") as Button ;
      Button4.OnClientClick = "return confirm('你确认要删除:" + q + "?')";
    }
    }

     


    Shadowと愉快なコード達

    感谢您的指点 ,但是虽然完成了提示,但是点击确定后数据行未被删除。不知何故,令求教Button4_Click下的实现方法。


    绝不不懂装懂,不因为自己的问题低级而感到不好意思,踏踏实实的虚心学习。
    2011年8月14日 7:47
  • 感谢您的指点 ,但是还有一点我没学到 就是您的方法怎么在protected void Button4_Click(object sender, EventArgs e)下完成

    因为您的 Button4有写 CommandName="delete"

    delete是删除关键字,所以后台代码不用写,在点击Button4后自然就会删除数据了


    Shadowと愉快なコード達

    2011年8月14日 8:11
  • 感谢您的指点 ,但是还有一点我没学到 就是您的方法怎么在protected void Button4_Click(object sender, EventArgs e)下完成

    因为您的 Button4有写 CommandName="delete"

    delete是删除关键字,所以后台代码不用写,在点击Button4后自然就会删除数据了


    Shadowと愉快なコード達


    感谢您的指点 ,但是虽然完成了提示,但是点击确定后数据行未被删除。不知何故,令求教Button4_Click下的实现方法。

    已经实现提示效果,但是点击确定后无法删除数据。另外,当单击“编辑”按钮后,对应的“取消”按钮也被提示,导致无法正常返回。

    绝不不懂装懂,不因为自己的问题低级而感到不好意思,踏踏实实的虚心学习。
    2011年8月14日 8:25
  • 若要在非CommandFiled自訂Delete按鈕,可依照下列步驟進行:(以Button為例)

    1. 設定Button的CommandName為Delete。

    <asp:TemplateField>
    	<ItemTemplate>
    	<asp:Button ID="Button4" runat="server" CommandName="delete" 
    		onclick="Button4_Click" Text="Button" />
    </ItemTemplate>
    


    2.在GridView的RowDataBind事件加入刪除確認的提示訊息。

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
    	if (e.Row.RowType == DataControlRowType.DataRow)
    	{
    		string q = e.Row.Cells[1].Text;
    		Button btn = e.Row.Cells[4].Controls[1] as Button;
    		btn.Text = "删除:'" + q;
    		btn.OnClientClick = "return confirm('你确认要删除:" + q + "?');";
    	}
    }
    


    下圖為執行結果,請依照您的情境調整Cells的index。

     


    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/
    2011年8月14日 8:25
  •     非常感谢wei_dong您的方法,但是您的方法也是在添加了新的列,我想学习的是不添加列的情况,直接用gridview提供的commandfield中使用删除

    <asp:CommandField ShowDeleteButton="True" ShowEditButton="True"    ButtonType="Button" />
    提请大家注意下这条语句。 ShowDeleteButton="True" 


     

    绝不不懂装懂,不因为自己的问题低级而感到不好意思,踏踏实实的虚心学习。

    依照您提供的代码


    请试试这个

     protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e)
    
     {
    
    
    
     if (e.Row.RowType == DataControlRowType.DataRow)
    
     {
    
     string q = e.Row.Cells[4].Text;//抓名称文字
    
    
    
     //抓CommandField的刪除Button
    
     Button btn = e.Row.Cells[0].Controls[2] as Button;
    
     btn.Text = "删除:" + q;
    
     btn.OnClientClick = "return confirm('你确认要删除:" + q + "?')";
    
    
    
    
    
     //抓Button4
    
     Button Button4 = e.Row.FindControl("Button4") as Button ;
    
     Button4.OnClientClick = "return confirm('你确认要删除:" + q + "?')";
    
    
    
     }
    
    
    
    
    
     }
    
    

     


    Shadowと愉快なコード達



    您的方法完成了提示效果 ,但是删除不了数据行,另外会导致当单击“编辑”按钮后,对应的“取消”按钮也被提示,导致无法正常返回。


    绝不不懂装懂,不因为自己的问题低级而感到不好意思,踏踏实实的虚心学习。
    2011年8月14日 8:46
  • Shadow And Happy Code 您提供的代码
     if (e.Row.RowType == DataControlRowType.DataRow)
    {
      string q = e.Row.Cells[4].Text;//抓名称文字

      //抓CommandField的刪除Button
      Button btn = e.Row.Cells[0].Controls[2] as Button;
      btn.Text = "删除:" + q;
      btn.OnClientClick = "return confirm('你确认要删除:" + q + "?')";

    已经实现提示效果,但是点击确定后无法删除数据行。另外,当单击“编辑”按钮后,对应的“取消”按钮也被提示,导致无法正常返回。

    绝不不懂装懂,不因为自己的问题低级而感到不好意思,踏踏实实的虚心学习。
    2011年8月14日 8:48
  • Shadow And Happy Code 您提供的代码
     if (e.Row.RowType == DataControlRowType.DataRow)
    {
      string q = e.Row.Cells[4].Text;//抓名称文字

      //抓CommandField的刪除Button
      Button btn = e.Row.Cells[0].Controls[2] as Button;
      btn.Text = "删除:" + q;
      btn.OnClientClick = "return confirm('你确认要删除:" + q + "?')";

    已经实现提示效果,但是点击确定后无法删除数据行。另外,当单击“编辑”按钮后,对应的“取消”按钮也被提示,导致无法正常返回。

    绝不不懂装懂,不因为自己的问题低级而感到不好意思,踏踏实实的虚心学习。
    请改成:  btn.OnClientClick = "if(!confirm('你确认要删除:" + q +"?')){return false;}";

    如果你有其它意见或私下交流,请直接发送maledong_work@foxmail.com;或者讨论(Talk)
    If you do not have QQ, please open the page and download it and click the image to talk or leave message for me.
    下载MSDN桌面工具(Vista,Win7)
    下载Technet桌面小工具(Vista,Win7)
    慈善点击,点击此处
    2011年8月14日 9:18

  • 已经实现提示效果,但是点击确定后无法删除数据行。另外,当单击“编辑”按钮后,对应的“取消”按钮也被提示,导致无法正常返回。

    绝不不懂装懂,不因为自己的问题低级而感到不好意思,踏踏实实的虚心学习。


    沒想到還有後面這個Bug

    以下是根據您的需求重新寫過一遍的代碼

    CommandField我拆成編輯、刪除兩欄了

    <%@ Page Debug="true" Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs"
      Inherits="_Default" %>
    
    <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
    <!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">
    </head>
    <body>
      <form id="form1" runat="server">
      
         <asp:SqlDataSource runat="server" ID="ObjectDataSourceshujubianji" 
           ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
           SelectCommand="SELECT * FROM [shujubianji]" 
           DeleteCommand="DELETE FROM [shujubianji] WHERE [ID] = @ID" 
           InsertCommand="INSERT INTO [shujubianji] ([栏目], [分类], [名称], [作者], [审核], [备注]) VALUES (@栏目, @分类, @名称, @作者, @审核, @备注)" 
           UpdateCommand="UPDATE [shujubianji] SET [栏目] = @栏目, [分类] = @分类, [名称] = @名称, [作者] = @作者, [审核] = @审核, [备注] = @备注 WHERE [ID] = @ID" >
           <DeleteParameters>
             <asp:Parameter Name="ID" Type="Int32" />
           </DeleteParameters>
           <InsertParameters>
             <asp:Parameter Name="栏目" Type="String" />
             <asp:Parameter Name="分类" Type="String" />
             <asp:Parameter Name="名称" Type="String" />
             <asp:Parameter Name="作者" Type="String" />
             <asp:Parameter Name="审核" Type="String" />
             <asp:Parameter Name="备注" Type="String" />
           </InsertParameters>
           <UpdateParameters>
             <asp:Parameter Name="栏目" Type="String" />
             <asp:Parameter Name="分类" Type="String" />
             <asp:Parameter Name="名称" Type="String" />
             <asp:Parameter Name="作者" Type="String" />
             <asp:Parameter Name="审核" Type="String" />
             <asp:Parameter Name="备注" Type="String" />
             <asp:Parameter Name="ID" Type="Int32" />
           </UpdateParameters>
         </asp:SqlDataSource>
     <asp:GridView ID="GridView" runat="server" AllowPaging="True" 
        AllowSorting="True" AutoGenerateColumns="False" CellPadding="4" 
        DataKeyNames="ID" DataSourceID="ObjectDataSourceshujubianji" 
        ForeColor="#333333" GridLines="None" OnRowDataBound ="GridView_RowDataBound" >
        <AlternatingRowStyle BackColor="White" />
        <Columns>
         <asp:CommandField ShowEditButton="True" 
         ButtonType="Button" HeaderText="編輯" />
         <asp:CommandField ButtonType="Button" HeaderText="刪除" ShowDeleteButton="True"  />
         <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" 
         ReadOnly="True" SortExpression="ID" />
         <asp:BoundField DataField="栏目" HeaderText="栏目" SortExpression="栏目" />
         <asp:BoundField DataField="分类" HeaderText="分类" SortExpression="分类" />
         <asp:BoundField DataField="名称" HeaderText="名称" SortExpression="名称" />
         <asp:BoundField DataField="作者" HeaderText="作者" SortExpression="作者" />
         <asp:BoundField DataField="审核" HeaderText="审核" SortExpression="审核" />
         <asp:BoundField DataField="备注" HeaderText="备注" SortExpression="备注" />
         <asp:TemplateField ShowHeader="False">
         <ItemTemplate>
          <asp:Button ID="Button4" runat="server" CommandName="Delete" Text="Button" />
         </ItemTemplate>
         </asp:TemplateField>
          <asp:CommandField ShowDeleteButton="True" />
        </Columns>
        <EditRowStyle BackColor="#2461BF" />
        <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
        <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
        <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
        <RowStyle BackColor="#EFF3FB" />
        <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
        <SortedAscendingCellStyle BackColor="#F5F7FB" />
        <SortedAscendingHeaderStyle BackColor="#6D95E1" />
        <SortedDescendingCellStyle BackColor="#E9EBEF" />
        <SortedDescendingHeaderStyle BackColor="#4870BE" />
        </asp:GridView>
    
    
    
    
      </form>
    </body>
    </html>
    
    

     

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Data;
    using System.Data.OleDb;
    using System.Data.Common;
    public partial class _Default : System.Web.UI.Page
    {
    
      protected void Page_Load(object sender, EventArgs e)
      {
    
    
      }
    
      protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e)
      {
       
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
    
            string id = e.Row.Cells[2].Text;//抓ID文字
            string q = e.Row.Cells[5].Text;//抓名称文字
                 
            
            //抓CommandField的刪除Button
            if (e.Row.Cells[1].Controls.Count > 0)
            {
              Button deleteBtn = (Button)e.Row.Cells[1].Controls[0];
              deleteBtn.Text = "删除:" + q;
              deleteBtn.OnClientClick = "if (confirm('你确认要删除:" + q + "?')) javascript:__doPostBack('GridView','Delete$" + e.Row.RowIndex.ToString() + "'); else return false;";
    
            }  
    
    
            //抓Button4
            Button Button4 = (Button)e.Row.FindControl("Button4");
            Button4.OnClientClick = "if (confirm('你确认要删除:" + q + "?')) javascript:__doPostBack('GridView','Delete$" + e.Row.RowIndex.ToString() + "'); else return false;";
         
        }
    
    
      }
    
    }
    

     


    Shadowと愉快なコード達
    2011年8月14日 9:24
  • Shadow And Happy Code 您提供的代码
     if (e.Row.RowType == DataControlRowType.DataRow)
    {
      string q = e.Row.Cells[4].Text;//抓名称文字

      //抓CommandField的刪除Button
      Button btn = e.Row.Cells[0].Controls[2] as Button;
      btn.Text = "删除:" + q;
      btn.OnClientClick = "return confirm('你确认要删除:" + q + "?')";

    已经实现提示效果,但是点击确定后无法删除数据行。另外,当单击“编辑”按钮后,对应的“取消”按钮也被提示,导致无法正常返回。

    绝不不懂装懂,不因为自己的问题低级而感到不好意思,踏踏实实的虚心学习。
    请改成:  btn.OnClientClick = "if(!confirm('你确认要删除:" + q +"?')){return false;}";

    如果你有其它意见或私下交流,请直接发送maledong_work@foxmail.com;或者讨论(Talk)
    If you do not have QQ, please open the page and download it and click the image to talk or leave message for me.
    下载MSDN桌面工具(Vista,Win7)
    下载Technet桌面小工具(Vista,Win7)
    慈善点击,点击此处

    我试过了 但是不行,无法删除数据行。
    绝不不懂装懂,不因为自己的问题低级而感到不好意思,踏踏实实的虚心学习。
    2011年8月14日 9:59
  • if (e.Row.RowType == DataControlRowType.DataRow) { if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate) { ((LinkButton)e.Row.Cells[4].Controls[0]).Attributes.Add("onclick", "javascript:return confirm('你确认要删除区域:" + ((DataBoundLiteralControl)e.Row.Cells[1].Controls[0]).Text.Trim() + " 吗?')"); } } 试试这个
    2011年11月18日 16:04