2014-04-25 2 views
0

내 asp.net MVC 프로젝트에서 선택한 직원의 ID를 컨트롤러로 보내려면 라디오 버튼을 사용하고 있습니다. 문제는 액션에서받은 ID가 null.this 내 코드의 일부입니다asp.net MVC에서 라디오 버튼을 사용하는 방법

보기 :

@model IEnumerable<PFEApplication.Models.agent> 
<div id="Leader"> 

@using (Ajax.BeginForm("AddNewLeader", "Equipe", FormMethod.Post, new AjaxOptions { 
        UpdateTargetId = "Leader", 
        HttpMethod = "Post", 
        InsertionMode = InsertionMode.Replace 
        })) 
    { 
    foreach (var item in Model) 
    { 
     @Html.HiddenFor(modelItem => item.ID_agent) 
     @Html.RadioButtonFor(modelItem => item.SelectedAgent, item.ID_agent) 

     <img src="@Url.Content(@item.image_agent)" height="25px" width="25px" /> 
     @Html.DisplayFor(modelItem => item.nom_agent) 
     @Html.DisplayFor(modelItem => item.prenom_agent)   
     <br />   

    } 
    <br /> 
    <input type="submit" value="Save" /> 
    } 
    </div> 

컨트롤러 :

[HttpPost] 
    public ActionResult AddNewLeader(agent ag) 
    {    
       [...] 
       agent agentRemplace = db.agents.Single(a => a.ID_agent == 
       ag.SelectedAgent);      
       db.SaveChanges();   
       return PartialView("exitAddNewLeader"); 
    } 

어떤 도움을 바랍니다.

+0

actionresult에서 agent의 이름을 agent로 변경하십시오. – Jamie

+0

같은 문제가 발생했습니다. – Tommy

답변

0

보기를보고 나면 AddNewLeader 작업 메서드가 에이전트 수집을 예상하지만 단일 에이전트 개체 만 전달하는 것으로 보입니다.
의미가 없습니다. 컬렉션을 게시하려면 바인드 및 ViewModel을 추가해야합니다.
Here은 컬렉션을 뷰에 바인딩 한 다음이 컬렉션을 컨트롤러에 게시하는 방법의 예입니다.

관련 문제