我想提供一個單選按鈕列表以從MVC 3模型中的一小組字符串中選擇一個選項。我正在研究的是調查中問題的編輯模板。自定義EditorTemplate的模型綁定
到目前爲止,我遵循Brad Christie's advice,這使我能夠正確地呈現視圖。下面是相關的代碼:
型號 - Question.cs
(注意,這實際上是一種模型的第一EF實體,但我不認爲它很重要)
public class Question {
// snip unimportant properties
public string QuestionType { get; set; }
}
視圖 - Question.cshtml
// snip unimportant view code
<div class="control-group">
@Html.LabelFor(model => model.QuestionType, "Question Type")
<div class="controls">
@Html.EditorFor(model => model.QuestionType, "QuestionType")
@Html.ValidationMessageFor(model => model.QuestionType)
</div>
</div>
視圖 - QuestionType.cshtml
@model System.String
@{
var questionTypes = new String[] { "PickOne", "PickMany", "OpenEnded" };
var typesMap = new Dictionary<String, String> {
{ "PickOne", "Pick a single answer" },
{ "PickMany", "Pick several answers" },
{ "OpenEnded", "Open-ended answer" }
};
}
@foreach (var questionType in questionTypes) {
<label class="radio">
@Html.RadioButtonFor(model => model, questionType)
@typesMap[questionType]
</label>
}
雖然視圖創建正確的HTML,當我加載了一個調查的編輯器視圖,對應其問題類型的單選按鈕沒有在頁面加載預選。我假設這與模型綁定有關?
如何根據數據庫中存在的選擇預先選擇正確的單選按鈕?如果它很重要,我使用模型優先實體框架4作爲我的持久層。
退房http://stackoverflow.com/questions/8357468/radiobuttonfor-not-selecting-value-in-editor-templates,我相信這是同一個問題你有。 – DMulligan
從這個答案看來,這種技術對編輯器模板不合適。由於我正在編輯一個編輯器模板,所以它似乎不適合我。有沒有人有任何想法是否正確? –
我認爲這個問題意味着你可以使用你想要的編輯器模板,你不能在編輯器模板中使用RadioButtonFor。 – DMulligan