با سلام خدمت استاد عزیز
توی یه قسمتی از پروژه من لازم دارم یه چیزی مثل ازمون انلاین بنویسم
هر ازمون لیستی از سوال ها را دارد و میخواهم سوال ها را نمایش دهم تا کاربر بتواندجواب دهد و پس از ازمون تنیجه در دیتابیس ذخیره شود
مدل سوال ها به صورت زیر است
public int QuestionId { get; set; }
[Display(Name = "آزمون")]
public int ExamId { get; set; }
[Display(Name = "متن سوال")]
[Required(ErrorMessage = "لطفا {0} را وارد کنید")]
[MaxLength(450, ErrorMessage = "{0} نمی تواند بیشتر از {1} کاراکتر باشد .")]
public string QuestionTitle { get; set; }
[Display(Name = "گزینه 1")]
[Required(ErrorMessage = "لطفا {0} را وارد کنید")]
public string Option1 { get; set; }
[Display(Name = "گزینه 2")]
[Required(ErrorMessage = "لطفا {0} را وارد کنید")]
public string Option2 { get; set; }
[Display(Name = "گزینه 3")]
[Required(ErrorMessage = "لطفا {0} را وارد کنید")]
public string Option3 { get; set; }
[Display(Name = "گزینه 4")]
[Required(ErrorMessage = "لطفا {0} را وارد کنید")]
public string Option4 { get; set; }
[Display(Name = "جواب سوال")]
[Required(ErrorMessage = "لطفا {0} را وارد کنید")]
public int Answer { get; set; }
در Controllers من یه مدل از ازمون را به view پاس دادم و از ان جایی که هر ازمون لیستی از Question ها را دارد با یه حلقه foreach سوال ها را نمایش دادم
مثل کد زیر
@foreach (var question in _examService.GetQuestionsByExamId(Model.ExamId))
{
<div class="content-box">
<div class="test-question">
<span> @question.QuestionTitle </span>
@question.QuestionId
</div>
<div class="test-option">
<label asp-for="@question.Option1" class="control-label"></label>
<input type="radio" name="Question" group="@question.QuestionId" value="1-@question.QuestionId-@Model.ExamId" />
<label asp-for="@question.Option2" class="control-label"></label>
<input type="radio" name="Question" group="@question.QuestionId" value="2-@question.QuestionId-@Model.ExamId" />
<label asp-for="@question.Option3" class="control-label"></label>
<input type="radio" name="Question" group="@question.QuestionId" value="3-@question.QuestionId-@Model.ExamId" />
<label asp-for="@question.Option4" class="control-label"></label>
<input type="radio" name="Question" group="@question.QuestionId" value="4-@question.QuestionId-@Model.ExamId" />
</div>
</div>
}
حالا سوال بنده اینه که در view به چه صورت باید مقدار هایی که کاربر انتخاب کرده را به Controllers پاس داد ؟
سوال ها 4 گذینه هستن و اگر name مربوط به هر radio را id قرار دهیم چه طور باید به Controllers ارسال کنیم ؟
دو سه تا نمونه از سایت برنامه نویسان دیدم ولی نمونه ها webform بودن
ممنون میشم راهنمایی کنید
با تشکر
سلام
به هر دسته از Radio ها یم name بدید اینطوری value آیتم انتخاب شده ارسال میشه
https://www.c-sharpcorner.com/article/quiz-application-with-asp-net-mvc-5/
لینکی که ارسال کردین به احتمال زیاد جواب خیلی از سوال های من رو میده
خیلی سرچ کردم ولی این مشکل باید به دست شما درست میشد
تشکر فراوان