Извините за неловкий вопрос, я не знал, как его сформулировать.У меня есть модель вопроса, в которой у меня есть несколько строк и один словарь (который я буду использовать для хранения ответов и количества голосов, которые получает каждый ответ. Я - парень из PHP и очень плохо знаком с ASP, поэтому я 'Я не совсем уверен, правильно ли я это делаю - поэтому не стесняйтесь конструктивно критиковать то, как я это делаю:)
Когда кто-то создает вопрос, у него может быть определенное количество ответов, которые он хочет, чтобы другиевыбрал из - скажем, 5, например.Поэтому я хочу, чтобы представление createQuestion отображало 5 текстовых полей для ответов, которые необходимо ввести, и каждое из этих текстовых полей должно относиться к первым 5 ключевым элементам в словаре.Затем я могу установить значения каждого в 0 при сохранении вопроса.Они будут сохранены в виде файла XML, и на самом деле будет сохранено только количество ответов (поэтому, если я укажу 5, а они будут использовать только 3, тогда только 3 будут отображаться в сохраненном формате XML).
Итак, в модели у меня есть что-то вроде этого (упрощенно):
public class QuestionModel {
public int sampleId { get; set; }
[Required]
[DisplayName("Question")]
public string Question { get; set; }
public Dictionary<string, int> Answers { get; set; }
Я также инициализирую Dict в конструкторе:
public QuestionModel() {
this.Answers = new Dictionary<string, int>();
}
И вот тут я отклеиваюсь,Я просто понятия не имею, как выполнить итерацию несколько раз, создав текстовые поля в представлении для добавления информации в Dict ... Я использую следующее для добавления вопроса:
Question:<%= Html.TextBoxFor(x => x.Question) %>
, но я могуКажется, что-то не получается с точки зрения составления списка текстовых полей для ответов.Мне нужно что-то вроде этого, хотя я понимаю, что, вероятно, мне нужно добавлять ответы, а не назначать их таким образом.
<% for (var i = 0; i < 5; i++) { %>
Answer <%= i%><%= Html.TextBoxFor(x => x.Answers[i])%>
<% } %>
Я бы очень признателен за некоторые указания или толчки в правильном направлении.Мне пришлось прибегнуть к 5 отдельным строкам (Answer1, Answer2 и т. Д.) На данный момент и 5 соответствующим целым числам ... но это кажется отвратительным ... должен быть способ ...
Приветствия