我是 MVC 的新手,之前在 C# 控制台应用程序中做过很多数值编程。我想最终构建运行这些相同类型程序的 Web 应用程序。我的第一次尝试虽然遇到了困难。
这是一个非常基本的应用程序,它将从表单中获取一个数字,然后计算 1 和该数字之间的所有数字的总和,这些数字可以被 3 或 5 整除。我创建了一个简单的 Model 类,其中包含一个变量,它将对应于输入:
namespace MvcDemo.Models
{
public class Values
{
public int Number { get; set; }
}
}
然后我创建了一个控制器类:
namespace MvcDemo.Controllers
{
public class HomeController : Controller
{
Values v = new Values();
public ActionResult Index()
{ return View(); }
[HttpPost]
public ActionResult Index(int number)
{
v.Number = number;
return View(v);
}
}
}
最后是视图:
@Model MvcDemo.Models.Values
@{ViewBag.Title = "Home Page";}
<h1>Sum of Multiples of 3 & 5</h1>
@using (Html.BeginForm()){
@Html.TextBox("number");
<input type="submit" />
}
@{
int n;
List<int> nums = new List<int>();
int sum = 0;
if(@Model.Number!=null)
{
n = @Model.Number;
}
else
{
n = 10;
}
for (int i = 1; i < n; i++)
{
if (i % 3 == 0 || i % 5 == 0)
{
nums.Add(i);
}
}
for (int j = 0; j < nums.Count; j++)
{
sum += nums[j];
}
}
<p>The sum of the factors is: @sum</p>
当我尝试运行它时,我得到一个异常说“无法对空引用执行运行时绑定”。这是指我试图分配 n 的视图页面。我不太确定如何解决这个问题。
在视图类中使用数字逻辑也是不好的做法,还是在控制器类中会更好?