<asp:HyperLink id="link2" runat="server" NavigateUrl='<%# "del.aspx?id="+ DataBinder.Eval(Container.DataItem,"id") %>'>删除</asp:HyperLink>
怎么加上一个删除确认对话框?

解决方案 »

  1.   

    page_load 事件里加
    link2.attributes["onclick"]="return confirm('删除确认')"
      

  2.   

    link2.Attributes.Add("onclick","return confirm('are you sure?');");
      

  3.   

    link2.attributes["onclick"]="return confirm('删除确认')"
      

  4.   

    page_load 事件里加
    link2.Attributes.Add("onclick","return confirm('删除确认');")
      

  5.   

    我加了
    link2.Attributes.Add("onclick","return confirm('删除确认');")
    提示下面的错误:Compiler Error Message: CS0246: The type or namespace name 'link2' could not be found (are you missing a using directive or an assembly reference?)
      

  6.   

    是不是HyperLink没有Attributes的属性?
      

  7.   

    嗯。。有可能。如果link2是在另外一个容器里头的话。
    那么你需要先找到这个控件的,然后再attribute.add。
      

  8.   

    关键是<HyperLink支不支持Attributes属性?
      

  9.   

    <HyperLink>支持Attributes属性
      

  10.   

    为什么我的出现以下提示呢?
    System.Web.UI.Control”并不包含对“DataItem”的定义
      

  11.   

    你的问题在这个项目里有
    http://218.27.204.17/aspnet/a_user.aspx
      

  12.   

    我把代码贴出来吧!
    <%@ Page Language="c#" Debug="True" %><% @Import Namespace = "System.Data" %>
    <% @Import Namespace = "System.Data.SqlClient" %>
    <html>
    <Script Language="c#" runat="server">
    public void Page_Load(Object src,EventArgs e)
    {
    //连接语句
    SqlConnection myConnection = new SqlConnection("Server=大猪;UID=sa;PWD=;Database=cs1");
    SqlDataAdapter myCommand = new SqlDataAdapter("select * from Site_User_Info",myConnection);
    DataSet ds = new DataSet();
    myCommand.Fill(ds);PagedDataSource objPds = new PagedDataSource();
    objPds.DataSource = ds.Tables[0].DefaultView;
    objPds.AllowPaging = true;
    objPds.PageSize = 50;
    int CurPage;
    if (Request.QueryString["Page"]!= null)
    {
    CurPage=Convert.ToInt32(Request.QueryString["Page"]);
    }
    else
    {
    CurPage=1;
    }objPds.CurrentPageIndex = CurPage-1;
    lblCurrentPage.Text = "当前是第:<font color=#ff0000><b>" + CurPage.ToString() + "</b></font>页";if (!objPds.IsFirstPage)
    {
    lnkPrev.NavigateUrl=Request.CurrentExecutionFilePath + "?Page=" + 
    Convert.ToString(CurPage-1);
    }
    if (!objPds.IsLastPage)
    {
    lnkNext.NavigateUrl=Request.CurrentExecutionFilePath+ "?Page=" + Convert.ToString(CurPage+1);
    }Repeater1.DataSource=objPds;
    Repeater1.DataBind();//link2.Attributes.Add("onclick","Javascript:return confirm('你真的要删除该条信息吗?')");
    }</Script><body>
    <form runat="server" name="form1" method="post"><HeaderTemplate>
    <table border="1" width="100%" cellpadding="2" cellspacing="0">
    <tr>
    <td colspan="6" bgcolor="#efefEF">
    测试数据分页
    </td>
    </tr>
    </HeaderTemplate>
    <asp:Repeater id="Repeater1" runat="server"><ItemTemplate>
    <tr>
    <td>
    <%# DataBinder.Eval(Container.DataItem,"id") %>
    </td>
    <td>
    <%# DataBinder.Eval(Container.DataItem,"User_Name") %>
    </td>
    <td>
    <%# DataBinder.Eval(Container.DataItem,"User_Pass") %>
    </td>
    <td>
    <%# DataBinder.Eval(Container.DataItem,"User_Email") %>
    </td>
    <td>
    <%# DataBinder.Eval(Container.DataItem,"User_Zip") %>
    </td>
    <td><asp:Hyperlink id="link3" runat="server" NavigateUrl='<%# "show.aspx?id=" +DataBinder.Eval(Container.DataItem,"id")%>'>查看</asp:HyperLink> <asp:HyperLink id="link1" runat="server" NavigateUrl='<%# "edit.aspx?id="+DataBinder.Eval(Container.DataItem,"id") %>'>修改</asp:HyperLink> <asp:HyperLink id="link2" runat="server" NavigateUrl='<%# "del.aspx?id="+ DataBinder.Eval(Container.DataItem,"id") %>'>删除</asp:HyperLink>
    </td>
    </tr>
    </ItemTemplate>
    </asp:Repeater>
    <FooterTemplate></table>
    </FooterTemplate>
    <asp:Label id="lblCurrentPage" runat="server" />
    <asp:HyperLink id="lnkPrev" runat="server">上一页</asp:HyperLink>
    <asp:HyperLink id="lnkNext" runat="server">下一页</asp:HyperLink>
    </form>
    </body>
    </html>
      

  13.   

    建议楼主用datagrid,把删除做成linkbutton,加删除确认很方便
      

  14.   

    VB代码如下 :  已测试成功
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            If Not Page.IsPostBack Then
                Dim rptItem As RepeaterItem
                Dim lkbtn As LinkButton
                For Each rptItem In rptBtn.Items
                    lkbtn = rptItem.FindControl("lkbtnOk")
                    lkbtn.Attributes.Add("onclick", "return confirm('删除确认');")
                Next        End If
        End Sub
      

  15.   

    把rptBtn换成你的repeater  id  ,把lkbtnOk换成你的linkbutton   id
      

  16.   


    this.DataGrid1.FindControl("link2").Attributes.Add("onclick","return confirm('你确认操作吗?');");
      

  17.   

    大家说的方法都是用DataGrid的,有没有用在Repeater读取数据时用的?
      

  18.   

    搞了半天只要在<HyperLink>里直接加个onclick="return confirm('确认删除')"就行了。