asp.net mvc - MVC Обикновено свързване на модел не работи

Translate

Добре, това трябва да е нещо глупаво като кутия от скали, което правя погрешно, но не мога да го намеря.

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", (квадратчета за отметка) "actionAge "(набор от радиобутони с цели числа) и" description "(текстово поле)

Когато прекъсна входа на "Създаване", createModel е там, но има всички стойности по подразбиране (null за низовете, false за булевите числа, 0 за int). Ако разгледам Request.Form, стойностите са налице, но те просто не влизат в модела.

Какво правя погрешно?

(Това е в MVC 2, Рамка 4.)

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

Всички отговори

Translate

Моделът на вашия изглед трябва да има автоматични свойства, а не публични променливи. Улови ме и преди!

Така трябва да бъде:

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;}
} 
източник
Leave a Reply
You must be logged in to post a answer.
За автора