【问题标题】:MVC Simple model binding not workingMVC 简单模型绑定不起作用
【发布时间】:2010-09-10 22:45:50
【问题描述】:

好的,这一定是我做错了,但我找不到它。

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;
}

查看页面上有名为“searchAVM”、“searchBPO”、“searchAppraisal”、(复选框)“transactionAge”(一组具有整数值的单选按钮)和“description”(文本框)的控件

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

我做错了什么?

(这是在 MVC 2,框架 4 下。)

【问题讨论】:

  • 您还应该发布视图代码,因为那里可能存在问题(即继承值)。

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


【解决方案1】:

您的视图模型应该具有自动属性,而不是公共变量。它以前被我发现了!

应该是这样的:

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;}
} 

【讨论】:

  • 哈哈,很高兴我不是唯一一个——我不会说当时我为此挣扎了多久。
  • 这是我想按向上箭头 10x 的地方。我也错过了这个简单的细节。
猜你喜欢
  • 2018-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多