여기이 아름답게@html 면도기 라디오 버튼 mvc5
for (var i = 0; i < Model.UserResponses.Count; i++)
{
<div class="row">
<div class="col-md-4">
<div class="form-group">
@Html.HiddenFor(x => x.UserResponses[i].QuestionId)
@Html.CheckBoxFor(x => x.UserResponses[i].IsChecked)
하지만 라디오 버튼이 내가 제출하지
for (var i = 0; i < Model.UserResponses.Count; i++)
{
<div class="row">
<div class="col-md-4">
<div class="form-group">
@Html.HiddenFor(x => x.UserResponses[i].QuestionId)
@Html.RadioButtonFor(x => x.UserResponses[i].IsChecked, new { Name = "grp1" })
@Html.DisplayTextFor(x => x.UserResponses[i].QuestionText)
않습니다 작동 체크 박스에 대한 나의 뷰 모델
public class UserResponseModel
{
public string QuestionId { get; set;}
public string QuestionText { get; set; }
public bool IsChecked { get; set; }
}
,이다 그때 IsChecked 양식은 항상 거짓입니다 - 왜 - 나는 무엇을 놓치고 있습니까? 제가 체크 박스에 언급 한 것처럼 그것은 잘 작동합니다. 이 질문은 here을 보았습니다. 그러나 라디오 버튼이 체크 상자가 투명하게 작동 할 때 올바른 대답을 유지하기 위해 뷰 모델에서 추가 속성이 필요한 이유를 모르겠습니다.
편집 : 내 질문 모델은 지금처럼 이렇게
public class QuestionModel
{
public string WhichQuestion { get; set; }
public int PointsObtained { get; set; }
public bool CorrectAnswer { get; set; }
private List<UserResponseModel> _userResponse;
public List<UserResponseModel> UserResponses
{
get { return _userResponse ?? (_userResponse = new List<UserResponseModel>()); }
set { _userResponse = value; }
}
}
통지 내가 방금 추가 한 공공 부울 CorrectAnswer {얻을; 세트; }
내보기에
여기에 코드for (var i = 0; i < Model.UserResponses.Count; i++)
{
<div class="row">
<div class="col-md-4">
<div class="form-group">
@Html.HiddenFor(x => x.UserResponses[i].QuestionId)
@Html.HiddenFor(x => x.CorrectAnswer)
@Html.HiddenFor(x => x.UserResponses[i].IsChecked)
@Html.RadioButtonFor(x => x.UserResponses[i].IsChecked, Model.CorrectAnswer, new { Name = "grp1" })
편집의 2 :
@Html.HiddenFor(x => x.UserResponses[i].QuestionId)
@Html.HiddenFor(x => x.SelectedAnswerId)
@Html.HiddenFor(x => x.UserResponses[i].IsChecked)
@Html.RadioButtonFor(x => x.UserResponses[i].IsChecked, Model.SelectedAnswerId, new { Name = "grp1" })
EDIT3 : 마지막으로
public class QuestionModel
{
public string WhichQuestion { get; set; }
public int PointsObtained { get; set; }
private List<UserResponseModel> _userResponse;
public List<UserResponseModel> UserResponses
{
get { return _userResponse ?? (_userResponse = new List<UserResponseModel>()); }
set { _userResponse = value; }
}
}
public class UserResponseModel
{
public string QuestionId { get; set;}
public string QuestionText { get; set; }
public string SelectedQuestionId { get; set; }
}
, 내보기
for (var i = 0; i < Model.UserResponses.Count; i++)
{
<div class="row">
<div class="col-md-4">
<div class="form-group">
@Html.HiddenFor(x => x.UserResponses[i].QuestionId)
@Html.RadioButtonFor(x => x.UserResponses[i].SelectedQuestionId, Model.UserResponses[i].QuestionId, new { Name = "grp1" })
@*@Html.CheckBoxFor(x => x.UserResponses[i].IsChecked)*@
@Html.DisplayTextFor(x => x.UserResponses[i].QuestionText)
EDIT4 : 이렇게 마침내 나는 어떤 것을 얻고있다 이 작품!
@Html.RadioButtonFor(x => x.UserResponses[i].SelectedQuestionId, Model.UserResponses[i].QuestionId)
내가 할 수있는 지금 selectedquestionid 내 httppost 방법에 채워하지만 다음이
@Html.RadioButtonFor(x => x.UserResponses[i].SelectedQuestionId, Model.UserResponses[i].QuestionId, new {Name="grp"})
을 할 경우 내가 selectedquestionid 라디오 버튼 하나를 선택할 수 있어요하지만 httppost에 NULL의 참조 - 이상한
http : //www.techiesweb에 도움이 될 수 있습니다.net/radio-button-list-in-asp-net-mvc/ – Shyju
@Shyju 내 edit4를 참조하십시오. – usr28765526