MVC简单模型绑定不起作用

时间:2010-09-10 14:30:04

标签: asp.net-mvc model-view-controller model-binding

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

MVC行动:

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

BatchCreateViewModel:

public class BatchCreateViewModel
{
    bool searchAVM;
    bool searchBPO;
    bool searchAppraisal;
    int transactionAge;
    string Description;
    string uploadfile;
}

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

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

我做错了什么?

(这是MVC 2,框架4。)

1 个答案:

答案 0 :(得分: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;}
}