Kreditrechner im ASP.NET von einer Konsolenanwendung
Ich gerade fertig mit arbeiten auf einer Konsole-Anwendung in welcher ich erstellt einen Kredit-Rechner. Mein code ist wie folgt:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LoanCalculator
{
public class LoanCalculator
{
public static void Main(string[] args)
{
//declare variables
double principle = 0;
double years = 0;
double interest = 0;
string principleInput, yearsInput, interestInput;
//User input for Principle amount in dollars
Console.Write("Enter the loan amount, in dollars(0000.00): ");
principleInput = Console.ReadLine();
principle = double.Parse(principleInput);
//Prompt the user to reenter any illegal input
if (principle < 0)
{
Console.WriteLine("The value for the mortgage cannot be a negative value");
principle = 0;
}
//User input for number of years
Console.Write("Enter the number of years: ");
yearsInput = Console.ReadLine();
years = double.Parse(yearsInput);
//Prompt the user to reenter any illegal input
if (years < 0)
{
Console.WriteLine("Years cannot be a negative value");
years = 0;
}
//User input for interest rate
Console.Write("Enter the interest rate(%): ");
interestInput = Console.ReadLine();
interest = double.Parse(interestInput);
//Prompt the user to reenter any illegal input
if (interest < 0)
{
Console.WriteLine("The value for the interest rate cannot be a negative value");
interest = 0;
}
//Calculate the monthly payment
//ADD IN THE .Net function call Math.pow(x, y) to compute xy (x raised to the y power).
double loanM = (interest / 1200.0);
double numberMonths = years * 12;
double negNumberMonths = 0 - numberMonths;
double monthlyPayment = principle * loanM / (1 - System.Math.Pow((1 + loanM), negNumberMonths));
//double totalPayment = monthlyPayment;
//Output the result of the monthly payment
Console.WriteLine(String.Format("The amount of the monthly payment is: {0}{1:0.00}", "$", monthlyPayment));
Console.WriteLine();
Console.WriteLine("Press the Enter key to end. . .");
Console.Read();
}
}
}
Alles oben funktioniert wie geplant. Ich versuche jetzt zu wandeln dies in ein ASP.NET web-Anwendung mit Visual Studio und ich bin steckengeblieben. Mein Aktuelles UI, ich habe mit 3 Etiketten für Grundsatz-Eingang (mit einem Textfeld), Darlehen Dauer (mit radio-button-Liste) und Zinssatz (mit dropdownList).
Mein problem, das ich habe ist ich bin versuchen, um eine radiobutton-Liste für mein Darlehen Dauer (15, 30, oder andere) als meine Auswahl. Wenn der Benutzer wählt die Anderen, ich bin zu versuchen, ein Textfeld für Sie geben Sie einen Wert in Jahren. Nachdem der Benutzer wählt die von ihm beabsichtigte Dauer ich möchte, dass meine InterestRate, um ein drop-down-Liste item mit 1%-10% als Optionen.
Ich habe auch einen button "Berechnen", wo es berechnet die Lösung von der Benutzer-Eingabe. Wenn jemand könnte mich führen in die richtige Richtung auf, wie man diesen Ansatz. Ich bin ganz neu in Zusammenarbeit mit ASP.NET und ich bin verwirrt, wie man erfolgreich verwandeln meine-Konsole-Anwendung, um ein ASP.NET Projekt. Vielen Dank für die Hilfe!
Meine Seite sieht wie folgt aus:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Monthly Mortgage Calculator</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h1>Monthly Payment Loan Calculator</h1>
</div>
<asp:Label ID="Label1" runat="server" Text="Please enter the principle amount"> </asp:Label>
<asp:TextBox ID="txtPrinciple" runat="server"></asp:TextBox>
<br />
<br />
<asp:Label ID="Label2" runat="server"
Text="Please enter the loan duration in years"></asp:Label>
<br />
<asp:RadioButtonList ID="RadioButtonList1" runat="server" AutoPostBack="True">
<asp:ListItem>15 Years</asp:ListItem>
<asp:ListItem>30 Years</asp:ListItem>
<asp:ListItem>Other</asp:ListItem>
</asp:RadioButtonList>
<br />
nbsp; &n bsp;
<asp:TextBox ID="txtYears" runat="server"></asp:TextBox>
<br />
<br />
<asp:Label ID="Label3" runat="server" Text="Please select the interest rate"> </asp:Label>
<asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
<asp:ListItem>4</asp:ListItem>
<asp:ListItem>5</asp:ListItem>
<asp:ListItem>6</asp:ListItem>
<asp:ListItem>7</asp:ListItem>
<asp:ListItem>8</asp:ListItem>
<asp:ListItem>9</asp:ListItem>
<asp:ListItem>10</asp:ListItem>
</asp:DropDownList>
<br />
<br />
<asp:Button ID="Button1" runat="server" Text="Monthly Payment" />
</form>
</body>
</html>
- Post einige Ihrer asp-markup-code, was macht die Seite so Aussehen
- Maus-Code wurde aktualisiert
- Sieht gut aus. Fügen Sie der OnClick-Methode, um entweder auf die Schaltfläche Markup oder im code Behind mit "+=" Es gibt ein Beispiel in meiner Lösung, legen Sie einen Haltepunkt, um zu sehen, ob es funktioniert
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier sind einige Allgemeine Schritte zur Konvertierung des Projekts. Wenn Sie brauchen, code, lassen Sie mich wissen, welche bit.
1) Erstellen Sie eine leere Asp.net die Anwendung (Nicht-web-Seite)
2) Fügen Sie einige asp.net tags zur Markierung (nicht der code dahinter)
Werde es so Aussehen wie
3) setzen Sie alle startup-code in der Page_Load-Methode
4) Schreiben Sie Ihre Schaltfläche click-Ereignis
Dass sollte Ihnen den Einstieg
Edit:
Ein weiterer Tipp: Ändern Sie
in
Macht es einfacher zu analysieren, den Wert
In der Regel werden Sie in der Lage sein, die Verwendung der gleichen Logik, außer, dass ich würde, um es zu bewegen, um eine Klasse.
1), Wo Sie die Konsole Eingänge, werden Sie in der Lage, verwenden Sie ein Textfeld.
2) Wo haben Sie das Ergebnis auf einen WriteLine (), die Sie verwenden möchten, können Sie ein Label, um das Ergebnis anzuzeigen.
ASP.NET Seiten .aspx-Datei, die halten das markup (HTML), und ein .cs-Datei, die Haus der codebehind. Seite die Elemente gegeben werden kann, Ereignisse, wird eine Methode aufgerufen, die in der codebehind.
Zum Beispiel, wählen Sie Ihre senden-Schaltfläche in die Entwurfsansicht, dann suchen Sie für die Schaltfläche Ereignisse im Eigenschaften-Fenster. Sie sollten in der Lage sein, um fügen Sie ein neues Ereignis für die Schaltfläche klicken. Die Karte, klicken auf die Schaltfläche, um eine Methode im codebehind:
Können Sie auf die Eigenschaften für die Steuerelemente, wie gezeigt.
Glück, hoffe, das hilft.