我正在尝试在asp.net MVC中做一个简单的计算器程序。我喜欢加两个数字并得到总数。但是我无法完成任务。我是asp.net
MVC的初学者。我到目前为止尝试过的代码附在下面。
模型
namespace WebApplication30.Models
{
public class cal
{
public int no1 { get; set; }
public int no2 { get; set; }
public int tot { get; set; }
}
}
控制器
public class CalController : Controller
{
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(cal c)
{
c.tot = c.no1 + c.no2;
return View(c);
}
}
**这是一个View传递来自控制器的值**
@model WebApplication30.Models.cal
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<div class="row">
@using (Html.BeginForm("Index", "cal", FormMethod.Post))
{
<div class="form-group">
<label for="no">No 1</label>
<input type="text" class="form-control" id="no1" name="no1">
</div>
<div class="form-group">
<label for="pwd">No 2</label>
<input type="text" class="form-control" id="no2" name="no2">
</div>
<div class="form-group">
<label for="pwd">total</label>
<input type="text" class="form-control" id="tot" name="tot">
</div>
<button type="submit" class="btn btn-default">Submit</button>
}
</div>
答案 0 :(得分:0)
尽管您没有说期望的结果,但我认为您需要总数。
如果我的假设正确,那么有更好的方法可以使用javascript ajax
发布
但是对于您的解决方案来说,它需要重新加载整个页面,
通过这种方式将值分配给视图,尽管这会将每个字段实例化为zero
控制器
public ActionResult Index()
{
return View(new cal());
}
查看
@model cal;
<div class="row">
@using (Html.BeginForm("index", "cal", FormMethod.Post, new { id = "popupForm" }))
{
<div class="form-group">
<label for="no">No 1</label>
<input type="text" class="form-control" id="no1" name="no1" value="@Model.no1">
</div>
<div class="form-group">
<label for="pwd">No 2</label>
<input type="text" class="form-control" id="no2" name="no2" value="@Model.no2">
</div>
<div class="form-group">
<label for="pwd">total</label>
<input type="text" class="form-control" id="tot" name="tot" value="@Model.tot">
</div>
<button type="submit" class="btn btn-default">Submit</button>
}
</div>
答案 1 :(得分:0)
您需要将输入值绑定到cal模型。另外,在获得名为的索引动作时需要添加cal模型。
CONTROLLER
using System;
using System.Web.Mvc;
using System.Collections.Generic;
using WebApplication30.Models;
namespace WebApplication30
{
public class HomeController : Controller
{
[HttpGet]
public ActionResult Index()
{
return View(new cal());
}
[HttpPost]
public ActionResult Index(cal c)
{
c.tot = c.no1 + c.no2;
return View(c);
}
}
}
查看
@model WebApplication30.Models.cal
@{
ViewBag.Title = "Index";
}
<body>
<h2>Index</h2>
<div class="row">
@using (Html.BeginForm("/Index", "Home", FormMethod.Post))
{
<div class="form-group">
<label for="no">No 1</label>
<input type="text" class="form-control" id="no1" name="no1" value="@Model.no1">
</div>
<div class="form-group">
<label for="pwd">No 2</label>
<input type="text" class="form-control" id="no2" name="no2" value="@Model.no2">
</div>
<div class="form-group">
<label for="pwd">total</label>
<input type="text" class="form-control" id="tot" name="tot" value="@Model.tot">
</div>
<button type="submit" class="btn btn-default">Submit</button>
}
</div>
</body>
注意:在提交表单时,在Index之前添加/有时会造成问题。