2016-07-09 8 views
-1

에있는 그것을보고, 채우고 그것을 얻기 위하여 명부를 보내십시오 응답 (라디오 단추)에 어떤 질문을 보여준 퀴즈 모양이, 사용자는 질문에 응답하고 그것을 보내야한다, i 이 같은 만든 몇 가지 클래스 :asp.net mvc

public class Question 
{ 

    public int Qid { get; set; } 
    public string Questionstext { get; set; } 
    public int selected { get; set; } 
    public List<Qitem> lst { get; set; } 

} 
public class Qitem 
{ 
    public int id { get; set; } 
    public string txt { get; set; } 

} 

다음 내가보기에 질문의 목록을 보내 :

List<Question> llst = new List<Question> 
     { 
      new Question 
      { 
       Qid = 1, 
       Questionstext = "is it true?", 
       lst = new List<Qitem> 
       { 
        new Qitem 
        { 
         txt = "yes", 
         id = 1 
        }, 
        new Qitem 
        { 
         id = 2, 
         txt = "no" 
        } 
       } 
      }, 
      new Question 
      { 
       Qid = 1, 
       Questionstext = "is it true 2?", 
       lst = new List<Qitem> 
       { 
        new Qitem 
        { 
         txt = "yes2", 
         id = 3 
        }, 
        new Qitem 
        { 
         id = 4, 
         txt = "yes3" 
        } 
       } 
      } 
     }; 

     return View(llst); 

은 내가 어떻게 대답을 보여 다음 제출할 수는 대답은 '선택'에 넣어되어야합니다 '질문의 속성. 내 문제는보기 및 특별히 라디오 버튼입니다.

답변

2

내보기 (Index 가정하면이 뷰를 생성하는 데 사용 된 GET 메소드와 같은 이름)에 다시 배치 할 것이다

@model List<Question> 
@using (Html.BeginForm()) 
{ 
    for (int i = 0; i < Model.Count; i++) 
    { 
     @Html.HiddenFor(m => m[i].Qid) 
     <h2>@Model[i].Questionstext</h2> 
     foreach (var answer in Model[i].lst) 
     { 
      <label> 
       @Html.RadioButtonFor(m => m[i].selected, answer.id, new { id = "" }) 
       <span>@answer.txt </span> 
      </label> 
     } 
    } 
    <input type="submit" value="Save" /> 
} 

이어야한다.

public ActionResult Index(List<Question> model) 

사이드 참고 : 또한 @Html.HiddenFor(m => m[i].Questionstext)

+0

을의 Questionstext 값뿐만 아니라 게시 할 포함 할 경우 우리는 또한 목록을 저장하고 우리가 여러 목록을 보내는 경우보기에서 사용할 Viewbag 또는 tempdata을 사용할 수 있습니다 뷰에 다른 모델 –

+0

@HimaanSingh, 'TempData'는 뷰에 데이터를 전송하는 데 적합하지 않으며 강력한 형식의 모델에서 OP가 수행하는 것처럼'ViewBag '을 제안하는 것은 실제로 끔찍합니다 –