Как получить значение переключателя для различных идентификаторов в контроллере при отправке формы
@Html.RadioButtonFor(m => m.IsCorrectAnswerOption1, "IsCorrectAnswerOption1")<lable>A</lable>
@Html.RadioButtonFor(m => m.IsCorrectAnswerOption2, "IsCorrectAnswerOption2")<lable>B</lable>
@Html.RadioButtonFor(m => m.IsCorrectAnswerOption3, "IsCorrectAnswerOption3")<lable>C</lable>
@Html.RadioButtonFor(m => m.IsCorrectAnswerOption4, "IsCorrectAnswerOption4")<lable>D</lable>
(или)
<input type="radio" name="IsCorrectAnswerOption1" id="IsCorrectAnswerOption1" /> A
<input type="radio" name="IsCorrectAnswerOption2" id="IsCorrectAnswerOption2" /> B
<input type="radio" name="IsCorrectAnswerOption3" id="IsCorrectAnswerOption3" /> C
<input type="radio" name="IsCorrectAnswerOption4" id="IsCorrectAnswerOption4" /> D
Это мой метод действия в контроллере:
public ActionResult Submit(QuestionBank questionBank)
{
int status;
string constr = ConfigurationExtensions.GetConnectionString(Configuration, "conStr");
using (SqlConnection connection = new SqlConnection(constr))
{
using (SqlCommand command = new SqlCommand("spSaveQuestionandAnswers"))
{
connection.Open();
command.Parameters.AddWithValue("@SectionID", questionBank.SectionId);
command.Parameters.AddWithValue("@DifficultyLevelID", questionBank.DifficultyLevelID);
command.Parameters.AddWithValue("@QBQuestion", questionBank.QBQuestion);
command.Parameters.AddWithValue("@Option1", questionBank.Option1);
command.Parameters.AddWithValue("@Option2", questionBank.Option2);
command.Parameters.AddWithValue("@Option3", questionBank.Option3);
command.Parameters.AddWithValue("@Option4", questionBank.Option4);
command.Parameters.AddWithValue("@QBWeightage", questionBank.QBWeightage);
command.Parameters.AddWithValue("@IsCorrectAnswerOption1", questionBank.IsCorrectAnswerOption1);
command.Parameters.AddWithValue("@IsCorrectAnswerOption2", questionBank.IsCorrectAnswerOption2);
command.Parameters.AddWithValue("@IsCorrectAnswerOption3", questionBank.IsCorrectAnswerOption3);
command.Parameters.AddWithValue("@IsCorrectAnswerOption4", questionBank.IsCorrectAnswerOption4);
command.CommandType = System.Data.CommandType.StoredProcedure;
command.Connection = connection;
//SqlDataReader reader = command.ExecuteReader();
int numberOfRecords = command.ExecuteNonQuery();
ViewBag.Response = numberOfRecords;
Response.Headers["test"] = numberOfRecords.ToString();
//status = command.ExecuteNonQuery();
// reader.Close();
connection.Close();
}
}
Это мой метод действия return RedirectToAction ("QuestionBank"); }
2 ответа
Вы можете сделать что-то вроде этого, чтобы отправить выбранные значения радиобоксов в ваш метод Controller
:
@using (Html.BeginForm("Submit", "Home", FormMethod.Post, new { @id = "myFormId", @class = "form-horizontal", role = "form", enctype = "multipart/form-data" }))
@Html.AntiForgeryToken()
{
<input type="radio" name="childChkbox" value="IsCorrectAnswerOption1" id="checkAll" /> A
<input type="radio" name="childChkbox" value="IsCorrectAnswerOption2" id="checkAll" /> B
<input type="radio" name="childChkbox" value="IsCorrectAnswerOption3" id="checkAll" /> C
<input type="radio" name="childChkbox" value="IsCorrectAnswerOption4" id="checkAll" /> D
<input id="submitform" type="submit" value="Submit Information" class="btn btn-primary btn-md" />
}
И ваш метод Controller
будет выглядеть так:
//Receive your Radiobox values here for selected radioboxes
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Submit(QuestionBank questionBank, string[] childChkbox)
{
//Here you get selected ID's list as required
List<int> myList=childChkbox.Select(int.Parse).ToList();
}
Кажется, что ваши свойства модели от IsCorrectAnswerOption1
до IsCorrectAnswerOption4
являются логическими
Поэтому, если вы попытаетесь инициализировать логические значения true
или false
, возможно, вы получите логические значения в методе действия
@Html.RadioButtonFor(m => m.IsCorrectAnswerOption1, true)<lable>A</lable>
@Html.RadioButtonFor(m => m.IsCorrectAnswerOption2, false)<lable>B</lable>
@Html.RadioButtonFor(m => m.IsCorrectAnswerOption3, false)<lable>C</lable>
@Html.RadioButtonFor(m => m.IsCorrectAnswerOption4, false)<lable>D</lable>
Похожие вопросы
Новые вопросы
c#
C# (произносится как «see Sharp») — это высокоуровневый мультипарадигменный язык программирования со статической типизацией, разработанный Microsoft. Код C# обычно нацелен на семейство инструментов и сред выполнения Microsoft .NET, которое включает в себя .NET, .NET Framework, .NET MAUI и Xamarin среди прочих. Используйте этот тег для ответов на вопросы о коде, написанном на C#, или о формальной спецификации C#.