I have a program that takes two values and adds them.
I have an error in the controller, it tells me that it can not be converted from int to string. in this line: int result = Logica.Calculadora.Sumar(model.operando1, model.operando2)
. What can it be?
Controller
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace Calculadora.MVC.Controllers
{
public class CalculadoraController : Controller
{
// GET: Calculadora
public ActionResult SumarConFormCollection()
{
return View();
}
[HttpPost]
public ActionResult SumarConFormCollection(FormCollection form)
{
String op1Text = form["operando1"];
String op2Text = form["operando2"];
int result = Logica.Calculadora.Sumar(op1Text, op2Text);
ViewBag.TextoResultado = "Resultado: " + result.ToString();
return View();
}
public ActionResult SumarConModel()
{
return View();
}
//método que hace la suma
public ActionResult SumarConModel(Models.CalculadoraModel model)
{
int result = Logica.Calculadora.Sumar(model.operando1, model.operando2);
model.TextoResultado = "Resultado: " + result.ToString();
return View();
}
}
}
Model
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace Calculadora.MVC.Models
{
public class CalculadoraModel
{
public int operando1 { get; set; }
public int operando2 { get; set; }
public String TextoResultado { get; set; }
}
}
View
@{
ViewBag.Title = "SumarConModel";
}
<h2>SumarConModel</h2>
<form action="/calculadora/SumarConModel" method="post">
<div>
<label>Operando 1: </label>
<input type="text" name="operando1" placeholder="Ingrese operando 1" />
</div>
<div>
<label>Operando 2: </label>
<input type="text" name="operando2" placeholder="Ingrese operando 2" />
</div>
<div>
<input type="submit" name="sumar" value="Sumar" />
</div>
</form>
@{
if (@Model != null)
{
<div>
<h2>@Model</h2>
</div>
}
}