C# 如何在ASP.NET中回显或打印以测试if-else条件

C# 如何在ASP.NET中回显或打印以测试if-else条件,c#,asp.net,C#,Asp.net,我正在尝试在ASP.NET中做一个简单的时间计算程序,在这个程序中,人们输入金额、年利息和每月付款,需要在还清债务和利息时获得以月为单位的时间,我想用if-else条件测试月付款金额是否小于月利息金额,但它似乎不起作用,如果我将月付款金额设置为小于月利息金额,则程序挂起 我的代码: protected void btnCalculate_Click(object sender, EventArgs e) { if (IsValid) { int Borrow

我正在尝试在ASP.NET中做一个简单的时间计算程序,在这个程序中,人们输入金额、年利息和每月付款,需要在还清债务和利息时获得以月为单位的时间,我想用if-else条件测试月付款金额是否小于月利息金额,但它似乎不起作用,如果我将月付款金额设置为小于月利息金额,则程序挂起

我的代码:

   protected void btnCalculate_Click(object sender, EventArgs e)
{
    if (IsValid)
    {
        int BorrowAmount = Convert.ToInt32(txtBorrow.Text);
        double InterestRate = Convert.ToDouble(txtRate.Text);
        int MonthlyPay = Convert.ToInt32(txtMAmount.Text);

        double Rammount = BorrowAmount;

        double monthlyIntRate = InterestRate / 12;
        //LblNoMonths.Text = Convert.ToString(monthlyIntRate);
        //LblNoMonths.Text = Convert.ToString(monthlyIntRate);
        double firstmonthlyIntRateAmt = ((monthlyIntRate / 100) * Rammount);


        if (MonthlyPay >= firstmonthlyIntRateAmt)
        {
            int month = 0;
            while (Rammount >= MonthlyPay)
            {
                month++;
                double monthlyIntRateAmt = ((monthlyIntRate / 100) * Rammount);

                Rammount = Rammount - (MonthlyPay - monthlyIntRateAmt);

            }
            LblNoMonths.Text = Convert.ToString(month);
        }
        else
        {

            LblNoMonths.Text ="Monthly payment is less than the monthly interest rate!!";

        }



    }
}
else条件中的代码似乎没有效果

LblNoMonths.Text=@“每月付款低于每月利率!!”


如果我做错了什么,请提供任何帮助,我们将非常感激,并提前感谢您告诉我们的一切,您的程序似乎挂起了。我无法直接帮助您解决逻辑问题(因为这取决于您希望执行什么样的演算),但至少我可以为您指出一些有助于解决问题的方法

while条件可能是程序挂起的地方。根据为变量设置的值,您可能永远不会退出此循环。你必须小心,重新设计它,如果这些值没有意义,就会出现退出条件。如果您真的在这里遇到了一些特定值的问题,检查它的一种方法是在调试模式下运行程序(并手动测试无限循环),或者您可以使用计数器在while循环内轻松执行一些Console.WriteLine语句,并检查控制台窗口的输出,如果循环从未退出,这应该会给您提示。
对于else子句也是一样,写入控制台调试输出,查看代码是否进入其中,这应该为您指明正确的方向。无论如何,这是为了识别问题,解决问题可能需要更改代码逻辑(正如我告诉过你的,在while循环中指定一个退出条件,当从业务角度看有些事情没有意义时)

只需在If语句(断点)上按F9,然后开始调试。要前进一步,只需使用F10来遵循代码执行流程!;)您还可以使用VS watch窗口查看每个值中的确切值。。。没有什么能帮到你

这就是VS中调试器的用途