我点击LinkButten 要再页面出现一个对话框,要求有确定和取消 两个按钮,这个后台代码怎么写?

解决方案 »

  1.   

       <asp:LinkButton ID="lbShow" OnClientClick="return confirm('是否确定');" Text="确定" runat="server"></asp:LinkButton>
      

  2.   

    我的意思是怎么获取到你所点击的那个LinkButten
      

  3.   

    主要是我用的是GridView控件   里面有个模板列(LinkButten)
      

  4.   

    用模态窗口
    直接上代码,相信是你想要的:
        <script language="javascript" type="text/javascript">
        <!--
            function openadd()
            {
                var returnVal = false;
                returnVal = window.showModalDialog('WarehouseAdd.aspx','add','height=100, width=400, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no');
                if (returnVal == true)   
                {   
                    window.location.href=window.location.href;   
                    window.location.reload;   
                }   
            }
        -->
        </script>
    <asp:ImageButton ID="ImageButton1" runat="server" OnClientClick="openadd()" />
    在WarehouseAdd.aspx页面中你你可以随意添加确定和取消了
      

  5.   

    循环GridView.Rows 在当前行根据ID查找LinkButten控件 你就获得你想要的控件了
      

  6.   

    lz没说清楚,如果是模板列:
        <script language="javascript" type="text/javascript">
        <!--
            function showcatalog(obj) 
            {  
                var returnVal1 = false;  
                var wh_no = obj.getAttribute("wh") ;
                var wh_no_coded  = escape(wh_no);
                returnVal1 = window.showModalDialog('WarehouseEdit.aspx?wh_no='+wh_no_coded+'&x='+Math.random() ,window, 'dialogwidth:700px;dialogheight:550px;help:0;center:yes;resizable:0;status:1;scroll:yes'); 
                if(returnVal1 == true )
                {
                    window.location.href = window.location.href;
                    window.location.reload;
                }
            
            }  
        -->
        </script>                <asp:TemplateField HeaderText="编辑">
                        <HeaderStyle Width="40px" />
                        <ItemTemplate>
                            <asp:ImageButton ID="btnEdit" runat="server"  ImageUrl="~/Images/cmsImages/btpaste.gif" wh=' <%# Eval("wh_no") %>' 
                            OnClientClick="javascript:showcatalog(this);return false;" />
                            
                        </ItemTemplate>
                        <ItemStyle HorizontalAlign="Center" />
                    </asp:TemplateField>完工!
      

  7.   

      Page.ClientScript.RegisterStartupScript(GetType(), "", "<script>if(!con()){alert('is false');}</script>");
    con: <script type="text/javascript">
          function con()
          {
              return confirm("sdfjksdf");
          }
      </script>至于模板列linkbutton,,,findcontrol
      

  8.   

     LinkButton1.Attributes.Add("onclick", "JS弹出对话框代码");
      

  9.   


     string cmd = e.CommandName;
            string areaId =e.CommandArgument.ToString();
            if(cmd == "De")
            {
                User user = new User();
                List<User> list= UserManager.GetUserByAreaId(areaId);
                if(list!= null)
                {
                   {这个地方我就不会写了,如何获取这个控件呢?} .Attributes.Add("onclick", "return confirm('此地区的存在用户,您确认删除吗?')");
                }
            }
      

  10.   

    我是做删除操作的   string cmd = e.CommandName;
            string areaId =e.CommandArgument.ToString();
            if(cmd == "De")
            {
                User user = new User();
                List<User> list= UserManager.GetUserByAreaId(areaId);
                if(list!= null)
                {
                    (这个地方我有个删除方法我是在哪里写呢).Attributes.Add("onclick", "return confirm('此地区的存在用户,您确认删除吗?')");
                }
            }
      

  11.   


    关键是我外面是用的GridView控件啊  如何获取?
      

  12.   

    LinkButton1.Attributes.Add("onclick", "return   confirm('确定吗?');");
      

  13.   

    在gridview的DataBound里写,为每个LInkButton添加
            for (int i = 0; i < gdv.Rows.Count; i++)
            {
                gdv.Rows[i].Cells[4].Attributes.Add("onclick", "return confirm('对应的库存信息及进出库信息也将删除,确定删除吗?')");
            } 
      

  14.   

    啊!gridview中的啊如果是gridview中就用下面的代码:
    在gridview的绑定事件上:if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                ((LinkButton)(e.Item.FindControl("LinkButton1"))).Attributes.Add("onclick", "return   confirm('确定吗?');");
            }
      

  15.   

    ItemCreated事件里:
     LinkButton LinkButton1= (LinkButton)e.Item.FindControl("LinkButton1");LinkButton1.Attributes.Add("onclick", "return confirm('确定删除?')");
      

  16.   


    大哥 我运用你的方法  提示e.Item 错误 意思说没有Item 这个参数。
      

  17.   

    错了。。发错了 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                LinkButton1.Attributes.Add("onclick", "return confirm('您确认要删除吗?');");
            }
        }这个是。。
      

  18.   

    gridview1.rows[i].findControl["linkButton1"].Attributes.Add("onclick", "return  confirm('确定吗?');");在单击事件里  还可以 通过把 sender 强转为linkButton 类型的 干吗这么费事 就在前台 写个confirm 啊 楼上们都说了可以设置commandname属性为<%#Eval("列名")%> 来获取当前行的 指定属性值  然后再在后台 获取commandname的值啊 
      

  19.   


    你用的是不是ItemCreated事件啊
    看清楚啊
      

  20.   

    -。-!第一次给你发了个Repeater 用 Repeater 用习惯了。。很少用GridView!!!
    第2次给你的对了
    RowDataBound 是绑定事件哦。。这个事件。。
      

  21.   

    你在gridView绑定数据生成事件里面写arrtribute阿。是不是叫itemcreate事件?
      

  22.   

      if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    LinkButton Lin = (LinkButton)e.Row.FindControl("LinkButton1");
                    Lin.Attributes.Add("onclick", "return confirm('您确认要删除吗?');");
                }
      

  23.   

    不是,我是做删除操作 绑定列(AreaId),我想先根据AreaId找出相对应的用户,然后删除Area(地区),在删除的同时,显示个提示框,而已。
      

  24.   


    前台代码
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
                        Width="100%" onrowcommand="GridView1_RowCommand" 
                        onrowdatabound="GridView1_RowDataBound">
                        <Columns>
                            <asp:TemplateField HeaderText="地区代码">
                                <ItemTemplate>
                                    <asp:Label ID="lblAreaId" runat="server" Text='<%# Bind("AreaId") %>'></asp:Label>
                                </ItemTemplate>
                            </asp:TemplateField>
                            <asp:TemplateField HeaderText="地区名称">
                                <ItemTemplate>
                                    <asp:Label ID="lblAreaName" runat="server" Text='<%# Bind("AreaName") %>'></asp:Label>
                                </ItemTemplate>
                            </asp:TemplateField>
                            <asp:TemplateField HeaderText="编辑">
                                <ItemTemplate>
                                    <asp:LinkButton ID="lkbtnEdit" runat="server" 
                                        PostBackUrl='<%#"~/Area_edit.aspx?AreaId="+Eval("AreaId").ToString() %>'>编辑</asp:LinkButton>
                                </ItemTemplate>
                            </asp:TemplateField>
                            <asp:TemplateField HeaderText="删除">
                                <ItemTemplate>
                                    <asp:LinkButton ID="lkbtnDelete" runat="server" 
                                        CommandArgument='<%# Eval("AreaId").ToString() %>' CommandName="De">删除</asp:LinkButton>
                                </ItemTemplate>
                            </asp:TemplateField>
                        </Columns>
                    </asp:GridView>
      

  25.   

    大哥你用了我的方法了么??我没看见ItemCreated事件啊
      

  26.   

    <asp:TemplateField HeaderText="删除">
              <ItemTemplate>
                    <asp:LinkButton runat="server" ID="lkbtnEdit" OnClick="事件" OnClientClick="return confirm('您真的要删除此行吗?')"
                              Width="30px">删除</asp:LinkButton>
                     </ItemTemplate>
    </asp:TemplateField>
      

  27.   

    代码是在单击事件里写的吧??如果是单击事件里写的 强转sender 啊((LinkButton)sender).arrtribute.add("dfdfdfdf");  不行吗?
      

  28.   


    好像没ItemCreated
    你用RowCreated这个事件
      

  29.   


    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                 LinkButton imgbtn = (LinkButton)e.Row.FindControl("LinkButton1 ");
                imgbtn.Attributes.Add("onclick", "return confirm('您确认要删除吗?');");
            }
        }
      

  30.   

    在模板列的 asp 代码 里找到 linkbutton 的 代码
     <asp:LinkButton ID="lbnDelete" OnClientClick="return confirm('是否确定');" Text="确定" commandname="<% #Container.DataItemIndex%>"  onclick="lbnDelete_Click"  runat="server"> </asp:LinkButton>在 C# 后台 代码 里 编辑 lbnDelete 的单击事件(双击模板列中lbnDelete控件 就可以进入它的事件编辑了)linkbutton lbn=sender as linkbutton;
    int i=int.paser(lbn.commandname);
    gridviewrow r=gv.rows[i];  gv 你的gridview 控件 ID 
     r 就是你 点击的 linkbutton 的 行 了  剩下的 就 LZ 自己 搞吧
      

  31.   

    那不也行嘛  rowcreate事件 不也有sender 参数嘛  这不就是事件源嘛  强转sender也应该可以吧! 
      

  32.   

    楼主不会是想 点击了哪个linkbutton 哪个才添加 确认吧??
      

  33.   

    LZ是把他们的代码写到了onrowcommand事件里面才出的错,就在OnRowDataBound事件里面也可以完成