Я, вероятно, все это делаю неправильно, но частично работает, поэтому я надеюсь, что это недостаток знания правильного синтаксиса.Построение массива для ввода данных из флажка в представлении MVC
Я создаю массив checkbox из запроса linq, который работает нормально. Затем я проверяю, имеет ли значение ответа значение, соответствующее значению флажка. Пока что так хорошо, НО он не будет создавать массив для ввода в базу данных, он просто возвращает значение первого флажка.
Можете ли вы определить ошибку в моем синтаксисе? Я очень новичок в Razor и, как правило, придерживаюсь HTML, который я знаю, а не помощников. Я узнаю их - со временем!
// Checkbox
<div class="checkbox">
@foreach (var item in q.QuestionOptions.OrderBy(o => o.QuestionOptionRanking))
{
if (q.Answer == item.QuestionOption1)
{
<input type="checkbox" name="Answer" id="Answer" value="@item.QuestionOption1" checked />@item.QuestionOption1<br />
**q.Answer = q.Answer + "," + item.QuestionOption1;**
}
else
{
<input type="checkbox" name="Answer" id="Answer" value="@item.QuestionOption1" />@item.QuestionOption1<br />
}
}
</div>
Утверждение q.Answer ничего не делает. Как мне его закодировать, пожалуйста?
И модель;
namespace Template.Models
{
using System;
using System.Collections.Generic;
public partial class QuestionOption
{
public int Id { get; set; }
public int QuestionId { get; set; }
public string QuestionOption1 { get; set; }
public Nullable<int> QuestionOptionRanking { get; set; }
public virtual Question Question { get; set; }
}
}
Я бы поменял 'id' на каждый' элемент'. Я не знаю, является ли это причиной вашей проблемы, но я бы предложил сначала создать уникальные идентификаторы для всех ваших флажков. –
Есть ли шанс на пример? Кто-то опубликовал код, и я попробовал его, но его не работало, и новый пример исчез! Не знаете, что там произошло; но это все равно не сработало. – Alex
Это был я, но я неправильно понял ваш вопрос, поэтому я удалил свой (неправильный) ответ. Вы должны опубликовать определение модели (например, 'QuestionOptions'), чтобы у нас появилась информация. –