No puedo obtener una lista de selección para enlazar a mi ViewModel.¿Cómo vincular una lista de selección con viewmodel?
que tienen un modelo de vista que contiene una entidad de preguntas y una cadena
public class QuestionViewModel
{
public Question Question { get; set; }
public string RefUrl { get; set; }
public QuestionViewModel()
{
}
public QuestionViewModel(Question question, string RefUrl)
{
this.Question = question;
this.RefUrl = RefUrl;
}
public QuestionViewModel(Question question)
{
this.Question = question;
this.RefUrl = "";
}
}
este es el controlador:
public ActionResult Edit(int id)
{
Question question = db.Question.Single(q => q.question_id == id);
QuestionViewModel qvm = new QuestionViewModel(question);
ViewBag.category_id = new SelectList(db.Category, "category_id", "category_name", qvm.Question.category_id);
ViewBag.type_code = new SelectList(db.Question_Type, "type_code", "type_description", qvm.Question.type_code);
return View(qvm);
}
y el código en mi opinión se ve así:
<div class="editor-label">
@Html.LabelFor(model => model.Question.type_code, "Question_Type")
</div>
<div class="editor-field">
@Html.DropDownListFor(model => Model.Question.Question_Type, (SelectList)ViewBag.type_code)
@Html.ValidationMessageFor(model => model.Question.type_code)
</div>
La vista establece el Question_Type de la entidad Question en el valor seleccionado, pero cuando envío el formulario, th e ValidationMessageFor triggers?
Model.Question.Question_Type Model.Question.type_code son 2 propiedades diferentes? tiene un mensaje de validación para Question.type_code, pero está configurando Question_Type? –