Cha*_*kri 2 asp.net asp.net-mvc asp.net-mvc-4 razor-2
我想在MVC中添加两个数字.
我的要求是"我在视图中有2个文本框,我必须从中检索数据到控制器"
查看:
@using (Html.BeginForm("Addition", "Addition", FormMethod.Post))
{
<input id="Text1" type="text" value=@ViewBag.a name="firstNum" />
<input id="Text2" type="text" value=@ViewBag.b name="secondNum" />
<input id="Text3" type="text" value=@ViewBag.result />
<input type="submit" value="Submit" />
}
Run Code Online (Sandbox Code Playgroud)
控制器名称:添加操作名称:添加
[HttpPost]
public ActionResult Addition(FormCollection fc)
{
string[] keyss = fc.AllKeys;
ViewBag.a = fc.Keys[0];
ViewBag.b = fc.Keys[1];
ViewBag.total = ViewBag.a + ViewBag.b;
return View();
}
Run Code Online (Sandbox Code Playgroud)
现在,从这个表单集合中我想要检索文本框的值.
谢谢.
MVC的一个强大功能是模型绑定器 - 你在这里完全忽略了它.创建视图模型以匹配视图的预期内容
public class AdditionViewModel
{
public int A { get; set; }
public int B { get; set; }
public int Result { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
将此作为操作中的预期参数
[HttpPost]
public ActionResult Addition(AdditionViewModel model)
{
model.Result = model.A + model.B;
return View(model);
}
Run Code Online (Sandbox Code Playgroud)
最后在你看来
@model AdditionViewModel
@using (Html.BeginForm("Addition", "Addition", FormMethod.Post))
{
@Html.EditorFor(x => x.A)
@Html.EditorFor(x => x.B)
@Html.DisplayFor(x => x.Result)
<input type="submit" value="Submit" />
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16096 次 |
| 最近记录: |