@using Newtonsoft.Json @model UserResponsesViewModel @{ ViewData["Title"] = "User Responses"; }
Total responses: @Model.Responses.Count()
PDF Reports Excel ReportsTotal questions: @response.Questionnaire.Questions.Count()
| Question | Status | Response |
|---|---|---|
|
@question.Text
Type: @question.Type |
@if (responseDetail != null)
{
@switch (responseDetail.Status)
{
case ResponseStatus.Answered:
✅ Answered
break;
case ResponseStatus.Shown:
⚠️ Shown but not answered
break;
case ResponseStatus.Skipped:
Question was displayed but left blank
⏭️ Skipped
break;
}
}
else
{
@responseDetail.SkipReason
❓ No response data
}
Status unknown |
@if (responseDetail != null && responseDetail.Status == ResponseStatus.Answered)
{
@if (responseDetail.QuestionType == QuestionType.Text || responseDetail.QuestionType == QuestionType.Slider || responseDetail.QuestionType == QuestionType.Open_ended)
{
Answer: @responseDetail.TextResponse
}
else if (responseDetail.ResponseAnswers.Any())
{
@foreach (var answer in responseDetail.ResponseAnswers)
{
var answerObj = question.Answers.FirstOrDefault(a => a.Id == answer.AnswerId);
var answerText = answerObj?.Text;
@answerText
@if (answerObj?.IsOtherOption == true)
{
Other
}
}
}
@* NEW: Display "Other" text if available *@
@if (!string.IsNullOrEmpty(responseDetail.OtherText))
{
Custom "Other" Response:
@responseDetail.OtherText
|