簡體   English   中英

asp.net點擊事件未觸發

[英]asp.net click event not firing up

我在使用Button遇到麻煩。 Click事件不起作用,我正在將此按鈕添加到表的單元格上。 該表的行從列表中填充。 對於大學來說,這是一個簡單的項目。 我已經在上一頁上使用了此代碼,並且可以正常工作。

這是我的代碼:

ASPX:

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">

<!-- Nombre del Cliente -->
<asp:Label ID="lblNombreCliente" CssClass="lbl negrita fs30" runat="server" Text="Cliente: " />
<!-- Listado de Proyectos-->
<asp:Table ID="tblProyectos" CssClass="tbl" runat="server">
    <asp:TableRow>
        <asp:TableHeaderCell CssClass="th w10">Cod</asp:TableHeaderCell>
        <asp:TableHeaderCell CssClass="th">Nombre</asp:TableHeaderCell>
        <asp:TableHeaderCell CssClass="th w10">Horas</asp:TableHeaderCell>
        <asp:TableHeaderCell CssClass="th w20">Encargado</asp:TableHeaderCell>
        <asp:TableHeaderCell CssClass="th">Ver</asp:TableHeaderCell>
    </asp:TableRow>
</asp:Table>

CS:

protected void Page_Load(object sender, EventArgs e)
        {
            int codCliente = 0;

            if(!IsPostBack)
            {
                //Usuario Conectado
                string nombre = Request.Params["usuario"];

                if (nombre != null)
                {
                    this.Master.datosUsuario = String.Format(nombre);
                }

                //Codigo Cliente
                codCliente = int.Parse(Request.Params["codCliente"]);
                if (codCliente != 0) 
                {
                    foreach (Cliente objCliente in listaClientes)
                    {
                        if (objCliente.Cod_cliente == codCliente)
                        {
                            lblNombreCliente.Text = objCliente.Nombre;
                        }
                    }
                }

            }//fin isPostBack

                //Se agregan proyectos a la tbl
                int i = 1;
                foreach (Proyecto item in listaProyectos)
                {
                    //Se rellenan las celdas
                    if (item.Cod_cliente == codCliente)
                    {
                        TableRow fila = new TableRow();
                        TableCell cod = new TableCell();
                        TableCell nombre_proyecto = new TableCell();
                        TableCell horas = new TableCell();
                        TableCell encargado = new TableCell();
                        TableCell btnsProyecto = new TableCell();

                        string nombre_encargado = string.Empty;

                        foreach (Usuario usu in listaUsuarios)
                        {
                            if(usu.Cod_usuario == item.Cod_encargado){
                                nombre_encargado = usu.Nombre;
                                break;
                            }
                        }

                        Button btnIngreso = new Button();
                        btnIngreso.CssClass = "btn";
                        btnIngreso.Text = "Ingresar";
                        btnIngreso.ID = "btnIngresar_" + i;
                        btnIngreso.Click += new EventHandler(this.btnIngresar_Click);
                        btnsProyecto.Controls.Add(btnIngreso);

                        cod.Text = item.Cod_proyecto.ToString();
                        nombre_proyecto.Text = item.Nombre_proyecto;
                        horas.Text = item.Horas.ToString();
                        encargado.Text = nombre_encargado;

                        //Se agregan las celdas
                        fila.Cells.Add(cod);
                        fila.Cells.Add(nombre_proyecto);
                        fila.Cells.Add(horas);
                        fila.Cells.Add(encargado);
                        fila.Cells.Add(btnsProyecto);

                        tblProyectos.Rows.Add(fila);
                        i++;
                    }

                }//fin foreach tbl


        }//fin page_load

        protected void btnIngresar_Click(Object sender, EventArgs e)
        {
            Button btn = (Button)sender;
            int fila = int.Parse(btn.ID.Substring(btn.ID.Length - 1));
            int codProyecto = int.Parse(tblProyectos.Rows[fila].Cells[0].Text);
            string url = String.Format("{0}?codProyecto={1}&usuario={2}"
                                        , "IngresoMantencion.aspx"
                                        , codProyecto, this.objUsuario.Nombre);
            Response.Redirect(url);
        }

我來自智利,這就是為什么我的代碼使用西班牙語單詞的原因。 我希望你能幫助我。

謝謝!

您的按鈕稱為Button btnIngreso = new Button(); 但您將protected void btnIngresar_Click(Object sender, EventArgs e)調用處理程序重命名為protected void btnIngreso_Click(Object sender, EventArgs e)並查看其是否有效。

希望能有所幫助,

克里斯

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM