none
No puedo hacer la división de la pensión entre 2, necesito soluciones por favor... (ASP.NET C#) RRS feed

  • Pregunta

  • El error está por aquí:

    if (cboCondicion.SelectedIndex == -1)
                {
                    Response.Write("Se debe elegir una condición");
                }
                else if (cboCondicion.SelectedIndex == 0) 
                {
                    lblCondicion.Text = "Beca";
                    lblPagoGeneral.Text = lblPension.Text + lblOtrosPagos.Text;
                }
                else if (cboCondicion.SelectedIndex == 1)
                {
                    lblCondicion.Text = "1/2 Beca";
                    lblPagoGeneral.Text = (lblPension.Text )/ 2 + lblOtrosPagos.Text;
                }

    Esta es la codificación completa del archivo MATRICULA.aspx.cs (Botón "Registrar Pago"):

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;

    namespace ASP_Matricula_EParcial
    {
        public partial class MATRICULA : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {

            }


            protected void btnRegistrarPago_Click(object sender, EventArgs e)
            {
                string codigo = txtCodigo.Text;
                string apellido = txtApellido.Text;
                string nombre = txtNombre.Text;

                string pension = txtPension.Text;

                lblCodigo.Text = txtCodigo.Text;
                lblApellido.Text=txtApellido.Text;
                lblNombre.Text=txtNombre.Text;

                lblPension.Text=txtPension.Text;


                if (rbtSistemas.Checked == true) 
                {
                    lblCarrera.Text = "Sistemas";
                    lblPension.Text = 850 + "";
                }
                else if (rbtElectronica.Checked == true) 
                {
                    lblCarrera.Text = "Electronica";
                    lblPension.Text = 600 + "";
                }
                else if (rbtIndustrial.Checked == true)
                {
                    lblCarrera.Text = "Industrial";
                    lblPension.Text = 700 + "";
                }

                string condicion = cboCondicion.SelectedItem.ToString();

                lblCondicion.Text = cboCondicion.Items[cboCondicion.SelectedIndex].Value.ToString();
                lblCiclo.Text = cboCiclo.Items[cboCiclo.SelectedIndex].Value.ToString();

                if (cboCondicion.SelectedIndex == -1)
                {
                    Response.Write("Se debe elegir una condición");
                }
                else if (cboCondicion.SelectedIndex == 0) 
                {
                    lblCondicion.Text = "Beca";
                    lblPagoGeneral.Text = lblPension.Text + lblOtrosPagos.Text;
                }
                else if (cboCondicion.SelectedIndex == 1)
                {
                    lblCondicion.Text = "1/2 Beca";
                    lblPagoGeneral.Text = (lblPension.Text )/ 2 + lblOtrosPagos.Text;
                }

                if (chkSeguro.Checked == true) 
                {
                    lblOtrosPagos.Text = 80 + "";
                }
                else if (chkIngles.Checked == true) 
                {
                    lblOtrosPagos.Text = 500 + "";            
                }
                else if ((chkSeguro.Checked == true) && (chkIngles.Checked == true))
                {
                    lblOtrosPagos.Text = 580 + "";
                }

            }

        }
    }

    ________________________________________________________________________________

    CODIFICACIÓN DEL ARCHIVO "MATRICULA.aspx":

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MATRICULA.aspx.cs" Inherits="ASP_Matricula_EParcial.MATRICULA" %>
    
    <!DOCTYPE html>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title></title>
        <style type="text/css">
            .auto-style1 {
                height: 26px;
            }
            .auto-style2 {
                width: 371px;
            }
            .auto-style3 {
                height: 26px;
                width: 371px;
            }
            .auto-style4 {
                width: 154px;
            }
            .auto-style5 {
                height: 26px;
                width: 154px;
            }
            .auto-style6 {
                width: 108px;
            }
            .auto-style7 {
                height: 26px;
                width: 108px;
            }
            .auto-style8 {
                width: 46px;
            }
            .auto-style9 {
                height: 26px;
                width: 46px;
            }
            .auto-style11 {
                border-style: solid;
                height: 26px;
                width: 128px;
            }
            .auto-style12 {
                width: 92px;
            }
            .auto-style13 {
                height: 26px;
                width: 92px;
            }
            .auto-style14 {
                width: 155px;
            }
            .auto-style15 {
                height: 26px;
                width: 155px;
            }
            .auto-style16 {
                border-style: solid;
                width: 128px;
            }
            .auto-style17 {
                width: 128px;
            }
        </style>
    </head>
    <body>
        <h2>REGISTRO DE MATRICULAS</h2>
    
        <form id="form1" runat="server">
            <table style="width: 789px">
                <tr>
                <td class="auto-style14">CODIGO</td><td class="auto-style2">
                    <asp:TextBox ID="txtCodigo" runat="server"></asp:TextBox></td>
                    <td class="auto-style6">
                        &nbsp;</td>
                    <td class="auto-style12">
                        &nbsp;</td>
                    <td class="auto-style8">
                        &nbsp;</td>
                    <td class="auto-style4">
                        CODIGO</td>
                    <td class="auto-style16">
                        <asp:Label ID="lblCodigo" runat="server"></asp:Label>
                    </td>
                    <td>
                        &nbsp;</td>
                   </tr>
                <tr>
                <td class="auto-style14">APELLIDO</td>
                <td class="auto-style2">
                    <asp:TextBox ID="txtApellido" runat="server"></asp:TextBox>
                    </td>
                <td class="auto-style6">
                    &nbsp;</td>
                <td class="auto-style12">
                    &nbsp;</td>
                <td class="auto-style8">
                    &nbsp;</td>
                <td class="auto-style4">
                    APELLIDO</td>
                <td class="auto-style16">
                    <asp:Label ID="lblApellido" runat="server"></asp:Label>
                    </td>
                <td>
                    &nbsp;</td>
                   </tr>
                <tr>
                <td class="auto-style15">NOMBRE</td>
                <td class="auto-style3">
                    <asp:TextBox ID="txtNombre" runat="server"></asp:TextBox>
                    </td>
                <td class="auto-style7">
                    &nbsp;</td>
                <td class="auto-style13">
                    &nbsp;</td>
                <td class="auto-style9">
                    &nbsp;</td>
                <td class="auto-style5">
                    NOMBRE</td>
                <td class="auto-style11">
                    <asp:Label ID="lblNombre" runat="server"></asp:Label>
                    </td>
                <td class="auto-style1">
                    &nbsp;</td>
                   </tr>
    
                <tr>
                <td class="auto-style14">CARRERA</td>
                <td class="auto-style2">
                    <asp:RadioButton ID="rbtSistemas" runat="server" Text="Sistemas" GroupName="rbtCarrera" Checked="true" />
    &nbsp;<asp:RadioButton ID="rbtElectronica" runat="server" Text="Electronica" GroupName="rbtCarrera" />
    &nbsp;<asp:RadioButton ID="rbtIndustrial" runat="server" Text="Industrial" GroupName="rbtCarrera"/>
                    </td>
                <td class="auto-style6">
                    &nbsp;</td>
                <td class="auto-style12">
                    &nbsp;</td>
                <td class="auto-style8">
                    &nbsp;</td>
                <td class="auto-style4">
                    CARRERA</td>
                <td class="auto-style16">
                    <asp:Label ID="lblCarrera" runat="server"></asp:Label>
                    </td>
                <td>
                    &nbsp;</td>
                   </tr>
    
                <tr>
                <td class="auto-style14">&nbsp;</td>
                <td class="auto-style2">&nbsp;</td>
                <td class="auto-style6">&nbsp;</td>
                <td class="auto-style12">&nbsp;</td>
                <td class="auto-style8">&nbsp;</td>
                <td class="auto-style4">&nbsp;</td>
                <td class="auto-style17">&nbsp;</td>
                <td>&nbsp;</td>
                   </tr>
    
                <tr>
                <td class="auto-style14">PENSION</td>
                <td class="auto-style2">
                    <asp:TextBox ID="txtPension" runat="server" Width="107px"></asp:TextBox>
                    </td>
                <td class="auto-style6">
                    &nbsp;</td>
                <td class="auto-style12">
                    &nbsp;</td>
                <td class="auto-style8">
                    &nbsp;</td>
                <td class="auto-style4">
                    PENSION</td>
                <td class="auto-style16">
                    <asp:Label ID="lblPension" runat="server"></asp:Label>
                    </td>
                <td>
                    &nbsp;</td>
                   </tr>
    
                <tr>
                <td class="auto-style14">CONDICION</td>
                <td class="auto-style2">
                    <asp:DropDownList ID="cboCondicion" runat="server" Height="16px" Width="91px">
                        <asp:ListItem Value="Beca">Beca</asp:ListItem>
                        <asp:ListItem Value="1/2 Beca">1/2 Beca</asp:ListItem>
                    </asp:DropDownList>
                    </td>
                <td class="auto-style6">
                    &nbsp;</td>
                <td class="auto-style12">
                    &nbsp;</td>
                <td class="auto-style8">
                    &nbsp;</td>
                <td class="auto-style4">
                    CONDICION</td>
                <td class="auto-style16">
                    <asp:Label ID="lblCondicion" runat="server"></asp:Label>
                    </td>
                <td>
                    &nbsp;</td>
                   </tr>
    
                <tr>
                <td class="auto-style14">CICLO</td>
                <td class="auto-style2">
                    <asp:DropDownList ID="cboCiclo" runat="server" Height="16px" Width="90px">
                        <asp:ListItem>I</asp:ListItem>
                        <asp:ListItem>II</asp:ListItem>
                        <asp:ListItem>III</asp:ListItem>
                        <asp:ListItem>IV</asp:ListItem>
                        <asp:ListItem>V</asp:ListItem>
                        <asp:ListItem>VI</asp:ListItem>
                    </asp:DropDownList>
                    </td>
                <td class="auto-style6">
                    &nbsp;</td>
                <td class="auto-style12">
                    &nbsp;</td>
                <td class="auto-style8">
                    &nbsp;</td>
                <td class="auto-style4">
                    CICLO</td>
                <td class="auto-style16">
                    <asp:Label ID="lblCiclo" runat="server"></asp:Label>
                    </td>
                <td>
                    &nbsp;</td>
                   </tr>
    
                <tr>
                <td class="auto-style14">&nbsp;</td>
                <td class="auto-style2">&nbsp;</td>
                <td class="auto-style6">&nbsp;</td>
                <td class="auto-style12">&nbsp;</td>
                <td class="auto-style8">&nbsp;</td>
                <td class="auto-style4">&nbsp;</td>
                <td class="auto-style17">&nbsp;</td>
                <td>&nbsp;</td>
                   </tr>
    
                <tr>
                <td class="auto-style14">OTROS PAGOS</td>
                <td class="auto-style2">
                    <asp:CheckBox ID="chkSeguro" runat="server" Text="SEGURO" />
                    &nbsp;&nbsp;&nbsp;
                    <asp:CheckBox ID="chkIngles" runat="server" Text="INGLES" />
                    </td>
                <td class="auto-style6">
                    &nbsp;</td>
                <td class="auto-style12">
                    &nbsp;</td>
                <td class="auto-style8">
                    &nbsp;</td>
                <td class="auto-style4">
                    OTROS PAGOS</td>
                <td class="auto-style16">
                    <asp:Label ID="lblOtrosPagos" runat="server"></asp:Label>
                    </td>
                <td>
                    &nbsp;</td>
                   </tr>
    
                <tr>
                <td class="auto-style14">&nbsp;</td>
                <td class="auto-style2">&nbsp;</td>
                <td class="auto-style6">&nbsp;</td>
                <td class="auto-style12">&nbsp;</td>
                <td class="auto-style8">&nbsp;</td>
                <td class="auto-style4">&nbsp;</td>
                <td class="auto-style17">&nbsp;</td>
                <td>&nbsp;</td>
                   </tr>
    
                <tr>
                <td class="auto-style14">PAGO GENERAL</td>
                <td class="auto-style2">
                    <asp:Button ID="btnRegistrarPago" runat="server" OnClick="btnRegistrarPago_Click" Text="REGISTRAR PAGO" />
                    &nbsp;
                    <asp:Button ID="btnLimpiar" runat="server" Text="LIMPIAR" OnClick="btnLimpiar_Click" />
                    </td>
                <td class="auto-style6">
                    &nbsp;</td>
                <td class="auto-style12">
                    &nbsp;</td>
                <td class="auto-style8">
                    &nbsp;</td>
                <td class="auto-style4">
                    PAGO GENERAL</td>
                <td class="auto-style16">
                    <asp:Label ID="lblPagoGeneral" runat="server"></asp:Label>
                    </td>
                <td>
                    &nbsp;</td>
                   </tr>
    
            </table>
            
    
        </form>
    </body>
    </html>
    


                                       
    jueves, 21 de enero de 2016 4:05

Respuestas

  • Estimado persiano132, hace falta realizar conversiones de datos, puesto que estas queriendo realizar una suma de números en formato de cadenas, lo cual esta incorrecto, aquí muestro el código:

    protected void btnRegistrarPago_Click(object sender, EventArgs e)
            {
                string codigo = txtCodigo.Text;
                string apellido = txtApellido.Text;
                string nombre = txtNombre.Text;
    
                string pension = txtPension.Text;
    
                lblCodigo.Text = txtCodigo.Text;
                lblApellido.Text = txtApellido.Text;
                lblNombre.Text = txtNombre.Text;
    
                lblPension.Text = txtPension.Text;
    
    
                if (rbtSistemas.Checked == true)
                {
                    lblCarrera.Text = "Sistemas";
                    lblPension.Text = 850 + "";
                }
                else if (rbtElectronica.Checked == true)
                {
                    lblCarrera.Text = "Electronica";
                    lblPension.Text = 600 + "";
                }
                else if (rbtIndustrial.Checked == true)
                {
                    lblCarrera.Text = "Industrial";
                    lblPension.Text = 700 + "";
                }
    
                string condicion = cboCondicion.SelectedItem.ToString();
    
                lblCondicion.Text = cboCondicion.Items[cboCondicion.SelectedIndex].Value.ToString();
                lblCiclo.Text = cboCiclo.Items[cboCiclo.SelectedIndex].Value.ToString();
    
                if (chkSeguro.Checked == true)
                {
                    lblOtrosPagos.Text = 80 + "";
                }
                else if (chkIngles.Checked == true)
                {
                    lblOtrosPagos.Text = 500 + "";
                }
                else if ((chkSeguro.Checked == true) && (chkIngles.Checked == true))
                {
                    lblOtrosPagos.Text = 580 + "";
                }
    
                if (cboCondicion.SelectedIndex == -1)
                {
                    Response.Write("Se debe elegir una condición");
                }
                else if (cboCondicion.SelectedIndex == 0)
                {
                    lblCondicion.Text = "Beca";
                    lblPagoGeneral.Text = (Convert.ToDouble(lblPension.Text) + Convert.ToDouble(lblOtrosPagos.Text)).ToString();
                }
                else if (cboCondicion.SelectedIndex == 1)
                {
                    lblCondicion.Text = "1/2 Beca";
                    lblPagoGeneral.Text = (Convert.ToDouble(lblPension.Text) / 2 + Convert.ToDouble(lblOtrosPagos.Text)).ToString();
                }
            }

    Espero haberte ayudado.

    jueves, 21 de enero de 2016 5:13
  • Muchas gracias Aldair Cosetito, te pasaste... Ya está arreglado :D :D
    • Marcado como respuesta persiano132 viernes, 24 de junio de 2016 17:47
    jueves, 21 de enero de 2016 17:51

Todas las respuestas

  • Estimado persiano132, hace falta realizar conversiones de datos, puesto que estas queriendo realizar una suma de números en formato de cadenas, lo cual esta incorrecto, aquí muestro el código:

    protected void btnRegistrarPago_Click(object sender, EventArgs e)
            {
                string codigo = txtCodigo.Text;
                string apellido = txtApellido.Text;
                string nombre = txtNombre.Text;
    
                string pension = txtPension.Text;
    
                lblCodigo.Text = txtCodigo.Text;
                lblApellido.Text = txtApellido.Text;
                lblNombre.Text = txtNombre.Text;
    
                lblPension.Text = txtPension.Text;
    
    
                if (rbtSistemas.Checked == true)
                {
                    lblCarrera.Text = "Sistemas";
                    lblPension.Text = 850 + "";
                }
                else if (rbtElectronica.Checked == true)
                {
                    lblCarrera.Text = "Electronica";
                    lblPension.Text = 600 + "";
                }
                else if (rbtIndustrial.Checked == true)
                {
                    lblCarrera.Text = "Industrial";
                    lblPension.Text = 700 + "";
                }
    
                string condicion = cboCondicion.SelectedItem.ToString();
    
                lblCondicion.Text = cboCondicion.Items[cboCondicion.SelectedIndex].Value.ToString();
                lblCiclo.Text = cboCiclo.Items[cboCiclo.SelectedIndex].Value.ToString();
    
                if (chkSeguro.Checked == true)
                {
                    lblOtrosPagos.Text = 80 + "";
                }
                else if (chkIngles.Checked == true)
                {
                    lblOtrosPagos.Text = 500 + "";
                }
                else if ((chkSeguro.Checked == true) && (chkIngles.Checked == true))
                {
                    lblOtrosPagos.Text = 580 + "";
                }
    
                if (cboCondicion.SelectedIndex == -1)
                {
                    Response.Write("Se debe elegir una condición");
                }
                else if (cboCondicion.SelectedIndex == 0)
                {
                    lblCondicion.Text = "Beca";
                    lblPagoGeneral.Text = (Convert.ToDouble(lblPension.Text) + Convert.ToDouble(lblOtrosPagos.Text)).ToString();
                }
                else if (cboCondicion.SelectedIndex == 1)
                {
                    lblCondicion.Text = "1/2 Beca";
                    lblPagoGeneral.Text = (Convert.ToDouble(lblPension.Text) / 2 + Convert.ToDouble(lblOtrosPagos.Text)).ToString();
                }
            }

    Espero haberte ayudado.

    jueves, 21 de enero de 2016 5:13
  • Muchas gracias Aldair Cosetito, te pasaste... Ya está arreglado :D :D
    • Marcado como respuesta persiano132 viernes, 24 de junio de 2016 17:47
    jueves, 21 de enero de 2016 17:51