У меня есть список на странице Razor, который я хочу использовать в java-скрипте. Я использую viewdata для отправки данных для просмотра. По какой-то причине VIewbag работает на странице бритвы.Я использую .net core 2.2
Вещи, которые я уже пробовал.
Просмотр
Вещи, которые я уже пробовал:
- var a = @Model.listname
- var stringArray = @ Html.Raw (Json.Serialize (ViewData ["Quest"])); `viewdata [Quest] содержит список
- строка jsonn = JsonConvert.SerializeObject (quelist); `, а затем отправьте jsoon для просмотра.
- с помощью пользовательского объекта класса и создайте объект json для создания с помощью Newtonsoft.Json и отправьте для просмотра
Если вы предлагаете решение ajex, объясните егонемного, как я не знаю много об этом или поделиться ссылкой для объяснения
Razor page .cs файл прокомментировал вещи, которые не
public async Task OnGetAsync()
{
ViewData["opt1"] = o1list;
ViewData["quest"] = quelist;
// string jsonn = JsonConvert.SerializeObject(quelist);
// ViewData["Jon"] = jsonn;
QuestionBank = await _context.QuestionBank
.Include(q => q.QuestionLevel)
.Include(q => q.QuestionStyle)
.Include(q => q.Teacher)
.Include(q => q.Topic).ToListAsync();
Answer = await _context.Answer.ToListAsync();
QSID = await _context.QSID.ToListAsync();
View
@{var name = (List<String>)ViewData["Quest"]; }
<script>
/*function test() {
var array = @Html.Raw(Json.Serialize(ViewData["Jon"]));
for(var i = 0; i < array.length; i++) {
alert(array[i]);
console.log(array[i]);
}
}
test();
*/</script>
</head>
<body>
@{
Model.run();
var name = (List<String>)ViewData["Quest"];
var nam = (List<String>)ViewData["opt1"];
int j = 0;
for (int i = 0; i <= 4; i++)
{
var a = name[i];
<p > @a </p>
<form action="">
<input type="radio" name="s" value="">@nam[j]<br>
@{j = j + 1; }
<input type="radio" name="s" value="">@nam[j]<br>
@{j = j + 1; }
<input type="radio" name="s" value="">@nam[j]<br>
@{j = j + 1; }
<input type="radio" name="s" value="">@nam[j]
@{j = j + 1; }
</form>
}
}
Я ожидаю получить массив, содержащий мой список или в формате json