您的位置:首页 > 编程语言 > ASP

[2017-AspNet-MVC4] 简单加法的演化-3-采用Model技术添加一个减法运算

2017-03-13 15:32 405 查看

目的:

 在[简单加法的演化-2]的基础上继续演化,使用Model技术添加减法类,用它产生相应的view.

代码:

在Models目录下面,新建SubClass.cs 类文件:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;

namespace AddTest.Models
{
public class SubClass
{
[Display(Name = "被减数")]
[Range(0, 100, ErrorMessage = "被减数应该在0-100之间.")]
public int FirstNum { get; set; }

[Display(Name = "减数")]
[Range(0, 100, ErrorMessage = "减数应该在0-100之间.")]
public int SecondNum { get; set; }

[Display(Name = "差值")]
public int DifferenceNum { get; set; }
}
}


在ChineseController.cs文件中,添加相应的Action:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using AddTest.Models;

namespace AddTest.Controllers
{
public class ChineseController : Controller
{
public ActionResult Index()
{
ViewBag.vc = "0.00";
return View();
}
public ActionResult CalSum(string FirstNum, string SecondNum)
{
float a, b, c;
if (float.TryParse(FirstNum, out a) != true)
return View("Err");
if (float.TryParse(SecondNum, out b) != true)
return View("Err");
c = a + b;
ViewBag.vc = c.ToString();
return View("Index");
}

[HttpPost]
public ActionResult CalDif(SubClass m)
{
m.DifferenceNum = m.FirstNum - m.SecondNum;
return View(m);
}

public ActionResult CalDif()
{
return View();

}
}
}
右击CalDif函数括号中,添加相应View: CalDif.cshtml,注意要采用强类型,使用SubClass,使用Create脚手架.并且修改Difference相应Editor为Display,并删除Difference相应的验证前台代码,完整代码如下:

@model AddTest.Models.SubClass

@{
ViewBag.Title = "CalDif";
}
<h2>CalDif</h2>
@using (Html.BeginForm("CalDif","Chinese",FormMethod.Post)) {
@Html.ValidationSummary(true)

<fieldset>
<legend>SubClass</legend>
<div class="editor-label">
@Html.LabelFor(model => model.FirstNum)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.FirstNum)
@Html.ValidationMessageFor(model => model.FirstNum)
</div>

<div class="editor-label">
@Html.LabelFor(model => model.SecondNum)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.SecondNum)
@Html.ValidationMessageFor(model => model.SecondNum)
</div>

<div class="editor-label">
@Html.LabelFor(model => model.DifferenceNum)
</div>
<div class="display-field">
@Html.DisplayFor(model => model.DifferenceNum)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>

@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
在首页View中,添加下方链接代码:

@Html.ActionLink("减法测试","CalDif")

小结:

学会Model技术的应用.Model作用:1)用它可以创建包装及传递数据的盒子 2)用它可以创建和盒子相适应的页面. 3)用它可以创建数据验证规则。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: