1

ここで説明されているように EditorFor を機能させようとして頭を壁にぶつけてきましたが、自分のバージョンを機能させることはできません。

2 つの ViewModel があります。

インタビューViewModel

public class InterviewViewModel
{
    ...
    public List<QuestionViewModel> Questions { get; set; }
}

およびQuestionViewModel :

public class QuestionViewModel
{
    public int QuestionId { get; set; }
    public string QuestionName { get; set; }
    ...
}

2 か所で EditorTemplates を作成しようとしましたが、

/Views/Interview/EditorTemplates/QuestionViewModel.cshtml

/Views/Shared/EditorTemplates/QuestionViewModel.cshtml

どちらも何もしていないようです。

コントローラーコード:

public ActionResult MyClass(int id = 0)
    {
        using (RRContext db = new RRContext())
        {
            ...

            List<QuestionModel> questionModels = new List<QuestionModel>();
            questionModels = db.QuestionModels.ToList();

            ...

            viewModel.Questions = questionViewModels;

        return View(viewModel);
        }
    }

私のビューには以下が含まれます:

@model ResidentRank.Models.Interview.InterviewViewModel

... (html.beginform is here)
Html.EditorFor(model => model.Questions);      

EditorTemplate コード:

@model ResidentRank.Models.Interview.QuestionViewModel
<div style="clear:both; margin:10px 0px;">
  <label>@Html.DisplayFor(m => m.QuestionName)</label>
  @Html.DropDownListFor(m => m.SelectedQuestionOption, Model.OptionSelector)
</div>

私の頭の中でぶらぶらしている質問は、「なぜこれが機能しないのですか?!」です。

4

1 に答える 1