手机单选按钮 html5,@html剃刀单选按钮mvc5(@html razor radio buttons mvc5)
這里是我的視圖模型
public class UserResponseModel
{
public string QuestionId { get; set;}
public string QuestionText { get; set; }
public bool IsChecked { get; set; }
}
所以,對于這個復選框精美作品
for (var i = 0; i < Model.UserResponses.Count; i++)
{
@Html.HiddenFor(x => x.UserResponses[i].QuestionId)
@Html.CheckBoxFor(x => x.UserResponses[i].IsChecked)
但對于單選按鈕,這并不
for (var i = 0; i < Model.UserResponses.Count; i++)
{
@Html.HiddenFor(x => x.UserResponses[i].QuestionId)
@Html.RadioButtonFor(x => x.UserResponses[i].IsChecked, new { Name = "grp1" })
@Html.DisplayTextFor(x => x.UserResponses[i].QuestionText)
當我提交表單,然后是器isChecked總是假的 - 為什么 - 我失去了什么 - 因為我的復選框提到它工作得很好。 我沒有看這個問題, 在這里 ,但我不知道為什么單選按鈕需要在視圖模型額外的屬性,以保持正確的答案時復選框透明地工作。
編輯:我的問題現在模型作為這樣
public class QuestionModel
{
public string WhichQuestion { get; set; }
public int PointsObtained { get; set; }
public bool CorrectAnswer { get; set; }
private List _userResponse;
public List UserResponses
{
get { return _userResponse ?? (_userResponse = new List()); }
set { _userResponse = value; }
}
}
請注意,我剛才說公布爾CorrectAnswer {獲得; 組; }
在我看來,這里的代碼
for (var i = 0; i < Model.UserResponses.Count; i++)
{
@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 _userResponse;
public List UserResponses
{
get { return _userResponse ?? (_userResponse = new List()); }
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++)
{
@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 -奇怪
總結
以上是生活随笔為你收集整理的手机单选按钮 html5,@html剃刀单选按钮mvc5(@html razor radio buttons mvc5)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jmeter添加html,Jmeter
- 下一篇: 安卓系统中文默认字体(安卓系统中文)