Я хочу передать данные из моего файла cs html в мой контроллер. Я хочу передать массив. Итак, я создаю этот код:
js:
function nextFunction() {
var listaDomande = @Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(ViewBag.pagina.domande));
var arrayRisposte = [];
//mi devo ricostruire il numero di domande che c'è in pagina, per ogni tipo devo verificarne i valori
for (i = 0; i < listaDomande.length; i++) {
var dom = listaDomande[i];
//alert(dom.idTipoDomanda);
if (dom.idTipoDomanda == 6) {
//DOMANDA CON OPTION BUTTON
//devo verificare per questo tipo di domande, quante opzioni erano possibili
//e recuperare solo il valore della opzione selezionata
for (n = 0; n < dom.opzioniDomanda.length; n++) {
//verifico quale è l'opzione selezionata dall'utente
var opzioniDomanda = dom.opzioniDomanda[n];
if (document.getElementById("oDomanda" + opzioniDomanda.ordinalId).checked) {
var value = document.getElementById("oDomanda" + opzioniDomanda.ordinalId).value;
alert(value);
var risposta = {
idDomanda: dom.rowId,
valore: value
};
arrayRisposte[i] = risposta;
break;
}
}
} else if (dom.idTipoDomanda == 3) {
//TEXT BOX
}
}
var valueText = document.getElementById("tDomanda");
alert(listaDomande.length);
$.ajax({
url: '/Questionario/nextPage',
data: JSON.stringify({ risposta: arrayRisposte}),
type: "GET",
success: function (data) {
//TODO: Add whatever if you want to pass a notification back
alert("RR Salvato");
},
error: function (error) {
//TODO: Add some code here for error handling or notifications
alert("Si è verificato un errore");
}
});
}
Это мой метод контроллера:
[HttpGet]
public void nextPage(RisposteUtente[] risposta)
{
try
{
Console.WriteLine("");
}
catch (Exception e)
{
Console.Write("");
}
}
Это мой объект RispostaUtente
public class RisposteUtente
{
public int idDomanda { set; get; }
public String valore { set; get; }
public RisposteUtente()
{
}
}
Теперь, если я пытаюсь выполнить функцию js, вызов поступает в контроллер, но RisposteUtente [] имеет значение null.