asp.net mvc - A vinculação do modelo MVC simples não funciona

Translate

Ok, isso deve ser algo estúpido-como-uma-caixa-de-pedras que estou fazendo de errado, mas não consigo encontrar.

Ação 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;
}

Existem controles na página Visualizar chamados "searchAVM", "searchBPO", "searchAppraisal", (caixas de seleção) "transactionAge" (um conjunto de botões de opção com valores inteiros) e "descrição" (uma caixa de texto)

Quando eu interrompo a entrada para "Create", createModel está lá, mas tem todos os valores padrão (null para as strings, false para os booleanos, 0 para o int). Se eu examinar Request.Form, os valores estão lá, mas eles simplesmente não estão entrando no modelo.

O que estou fazendo errado?

(Isso está em MVC 2, Estrutura 4.)

This question and all comments follow the "Attribution Required."

Todas as respostas

Translate

Seu modelo de visualização deve ter propriedades automáticas, não variáveis públicas. Já me pegou antes!

Então deveria ser:

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;}
} 
Fonte
Leave a Reply
You must be logged in to post a answer.
Sobre o autor