1

现在学习 ASP MVC,这只是我在 MVC 上的第三周

我对建模通过做了一些测试,基本上控制器只是获取模型,并没有做任何事情就传递到视图中,但似乎代码失败了。

下面是我创建的 ViewModel

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

namespace Bank2.Models.ViewModel
{
    public class PaymentView
    {
        public List<Wires_SWIFT> lists{get; set;}
        public string b_str{get; set;}
        public string o_str{get; set;}
    }
}

这是视图:

@model ViewModel
@using(Html.BeginForm("Payment","Home",FormMethod.Post)){

        @Html.TextBoxFor(d=> d.o_str)<br/>
        @Html.TextBoxFor(d=> d.b_str)<br/>
        <input type="submit" name="Search">
}

控制器抓取模型并立即通过

...
[HttpPost]
public ActionResult Payment(ViewModel m){
   return View(m)
}

...

我在 texboxes 中输入了两个字符串:像“aa”和“bb”,在我点击提交后,它们应该在那里,因为同一个对象被传回,但现在该字段为空

我错过了关于建模传递的重要内容吗?欢迎任何形式的建议

4

2 回答 2

5

您需要有 getter 和 setterViewModel才能从发布的表单中检索值。

public class ViewModel
{
    public string str1 { get; set; }
    public string str2 { get; set; }
    public List<int> list { get; set; }
}
于 2013-08-05T17:27:30.067 回答
0

您正在向我们展示该方法的 POST 版本。通常,post action 方法会获取模型,进行某种处理(输入验证、保存到数据库、调用服务等),然后如果成功,则重定向到不同的页面。

如果您对需要用户修复的输入有任何问题,您通常只会从 POST 操作方法调用视图。

于 2013-08-05T17:10:43.423 回答