Erstellen Sie einen Taschenrechner mit ASP.Net MVC
Ich bin gerade erst mit ASP.Net und derzeit bin ich versuchen, erstellen Sie einen einfachen Rechner, der nur mit MVC. Ich habe meine Ansicht, aber ich habe Probleme beim aufrufen der Objekte, die ich möchte. Wenn du keine gute guides oder helfen mit meinem problem, das wäre toll. Meine Ergebnisse der Aktion, ich bin auf der Suche einer Anleitung und es warf mich ab mit dem, was mit ihm zu tun.
Ansicht:
@using CalculatorApp.Models
@{
ViewBag.Title = "Index";
}
@using (Html.BeginForm("Index", "CalcController")) {
<div>
<h2>@Html.Label("Enter first number") : @Html.TextBox("num1")</h2>
<h2>@Html.Label("Enter second number") : @Html.TextBox("num2")</h2>
</div>
<div>
<h2>
@Html.RadioButton("calkey", "0") +
<br>
@Html.RadioButton("calkey", "1") -
<br>
@Html.RadioButton("calkey", "2") *
<br>
@Html.RadioButton("calkey", "3") /
</h2>
</div>
<input type="submit" name="Index" value="Index"/>
}
Modell:
namespace CalculatorApp.Models
{
public class Calculations : Controller
{
//
//GET: /Calculations/
public int num1 { get; set; }
public int num2 { get; set; }
public int result { get; set; }
public bool add { get; set; }
public bool sub { get; set; }
public bool mult { get; set; }
public bool div { get; set; }
}
}
Controller:
namespace CalculatorApp.Controllers
{
public class CalcController : Controller
{
public ActionResult Index(Calculations calc)
{
int selectedFunction = Convert.ToInt32(Request["calkey"]);
switch (selectedFunction)
{
case 0:
calc.result = calc.num1 + calc.num2;
break;
case 1:
calc.result = calc.num1 - calc.num2;
break;
case 2:
calc.result = calc.num1 * calc.num2;
break;
case 3:
if (calc.num2 > 0)
{
calc.result = calc.num1 / calc.num2;
}
break;
}
return View(calc);
}
public ActionResult Result(Calculations calc)
{
return View(calc);
}
}
}
Das problem, das ich lösen will, ist, wie mache ich die Berechnungen funktionieren, wenn ich drücken Sie die Schaltfläche senden. Ich habe keine Ahnung, wo zu beginnen.
- Einige Probleme, die ich beachten (1) Ihre
Calculations
POCO soll nicht Erben ausController
. (2) IhreIndex
Aktion inCalcController
sollte einfach nur wieder den Blick undResult
Aktion ist, wo der Benutzer die Eingänge gehen, um in und die Berechnungen durchgeführt und das Ergebnis zurückgegeben. - Ich würde empfehlen, verfeinern Sie Ihre Frage, weil es sieht mehr wie eine Aufforderung zur code-writing-service (neu: "ich habe keine Ahnung, wo zu beginnen" - das wirft die begründete Besorgnis, wo dieser code herkommt? Wenn dies ist Ihr code, dann sollten Sie wahrscheinlich wissen, wie es funktioniert). Beste Grüße,
Du musst angemeldet sein, um einen Kommentar abzugeben.
Paar Probleme, die ich beachten
In Ihrem Ansicht Sie haben zu entfernen, Controller auf Html.BeginForm (put-controller name (Calc) nur)
Ändern
Html.BeginForm("Index", "CalcController")
zuHtml.BeginForm("Index", "Calc")
In Ihrem Modell sollten Sie nicht Erben controller
Ändern
public class Calculations : Controller
zupublic class Calculations
In Ihrem Controller
Als Sie nach Ihren Daten bei Index Methode, die Sie Entfernen können Ergebnis - Methode vom controller. Danach fügen Sie neue get-Methode namens 'Index' wie
public ActionResult Index()
{
return View();
}
Endlich müssen Sie wollen, zeigen Sie Ihr Ergebnis an die view. so erstellen Sie ein element auf der Index-Ansicht wie
@Html.TextBox("result")
Update
Wenn Sie wollen post-Daten im Ergebnis Methode
@Html.BeginForm