MVC简单模型绑定不起作用

Dav*_*nna 7 model-view-controller asp.net-mvc model-binding

好吧,这一定是一些愚蠢的东西,我做错了,但我找不到它.

MVC行动:

[AcceptVerbs(HttpVerbs.Post)]
public virtual ActionResult Create(BatchCreateViewModel createModel)
{
    return RedirectToRoute(MVC.Home.Display());
}
Run Code Online (Sandbox Code Playgroud)

BatchCreateViewModel:

public class BatchCreateViewModel
{
    bool searchAVM;
    bool searchBPO;
    bool searchAppraisal;
    int transactionAge;
    string Description;
    string uploadfile;
}
Run Code Online (Sandbox Code Playgroud)

View页面上有一些名为"searchAVM","searchBPO","searchAppraisal",(复选框)"transactionAge"(一组带整数值的单选按钮)和"description"(文本框)的控件

当我在"Create"的条目处中断时,createModel就在那里,但是具有所有默认值(对于字符串为null,对于布尔值为false,对于int为0).如果我检查Request.Form,值就在那里,但它们只是没有进入模型.

我究竟做错了什么?

(这是MVC 2,框架4)

Pau*_*eld 19

您的视图模型应具有自动属性,而不是公共变量.它之前抓住了我!

所以它应该是:

public class BatchCreateViewModel 
{ 
    public bool searchAVM {get;set;}
    public bool searchBPO {get;set;}
    public bool searchAppraisal {get;set;}
    public int transactionAge {get;set;}
    public string Description {get;set;}
    public string uploadfile {get;set;}
} 
Run Code Online (Sandbox Code Playgroud)

  • d*百万!我告诉过你这是愚蠢的盒子!谢谢,保罗. (3认同)