在ASP MVC4中传递模型背后会发生什么

Lif*_*ipt 1 asp.net-mvc asp.net-mvc-3 asp.net-mvc-4

现在学习ASP MVC,仅仅是我在MVC上的第3周

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

下面是我创建的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;}
    }
}
Run Code Online (Sandbox Code Playgroud)

这是视图:

@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">
}
Run Code Online (Sandbox Code Playgroud)

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

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

...
Run Code Online (Sandbox Code Playgroud)

我在texbox中键入了两个字符串:比如"aa"和"bb",在我点击提交后,他们应该在那里,因为相同的对象被传回,但现在该字段为空

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

Win*_*Win 5

您需要具有getter和setter ViewModel才能从已发布的表单中检索值.

public class ViewModel
{
    public string str1 { get; set; }
    public string str2 { get; set; }
    public List<int> list { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

  • 如果您开始使用.net,我建议您阅读框架指南.http://msdn.microsoft.com/en-us/library/ms229042.aspx (2认同)
  • JimmiTh和Charlie几乎回答了这个问题.***赞赏你的帮助!***对于书籍,我个人阅读并喜欢这两本关于C#和MVC的书 - [Pro C#5.0](http://www.amazon.com/Pro-5-0 -NET-4-5-Framework/dp/1430242337/ref = sr_1_3?ie = UTF8&qid = 1375729068&sr = 8-3&keywords = c%23)和[Pro ASP.Net MVC4](http://www.amazon.com/亲-ASP-NET-MVC ADAM-弗里曼/ DP/1430242361/REF = sr_1_1?即= UTF8&QID = 1375729180&SR = 8-1&关键字= MVC + 4). (2认同)