2012-06-06 2 views
1

FormCollection을 게시하고 라디오 버튼의 값을 가져 오려고하면 항상 마지막 라디오 버튼의 값이 적용됩니다. 왜이 일을하는거야? 내 일시적인 해결 방법은 숨겨진 값을 만들고 onclick JS 메서드를 추가하는 것입니다. 동일한 결과를 가진 순수한 HTML 코드를 사용해 보았습니다. 보기FormCollection이 라디오 버튼에 대한 올바른 값을 가져 오지 않습니다.

@Html.RadioButton("Radio", "No", true, new { id = "Radio0"}) + " No"); 
@Html.RadioButton("Radio", "Yes", false, new { id = "Radio1"}) + " Yes"); 

결과 HTML에 대한

코드

<input checked="checked" id="Radio0" name="Radio" type="radio" value="No"> No 
<input id="Radio1" name="Radio" type="radio" value="Yes"> Yes 

컨트롤러 코드

[HttpPost, ValidateInput(false)] 
public ActionResult MyPostBack(FormCollection form) 
{ 
    string radio = form["Radio"]; //************** this is always "Yes" 
    return View("MyView"); 
} 
+0

포스트 백은 제 3 자 컨트롤입니다. 어쨌든 ViewModel을 사용해 볼 수도 있습니다. 그래도 예제에 대한 링크를 게시 할 수 있습니까? 나는 네가 무슨 뜻인지 알 것 같지만 확실하지 않다. – Lifes

+0

DevExpress이고 매개 변수를 제어 할 수 있습니다. – Lifes

답변

0

사실 수 문제를 복제하지 마십시오. 컨트롤러에서 포스트 백에서 선택한 라디오 버튼을 올바르게 식별합니다.

이 뷰이었다

(이 &는 컴파일 오류를 던지는해야 할 첫번째 장소에있는 페이지를 렌더링 안보기에 대한 주어 구문)보기에 대한 코드를 확인 할 수 있습니다 당신이 DevExpress을 사용하고 있기 때문에 나는 제공 다큐 통과 첫째, 귀하의 의견을 바탕으로

@{ 
    ViewBag.Title = "MyView"; 
} 

<h2>MyPostBack</h2> 
@using (Html.BeginForm()) 
{ 
    @Html.RadioButton("Radio", "No", true, new { id = "Radio0"}) @:No 
    @Html.RadioButton("Radio", "Yes", false, new { id = "Radio1"}) @:Yes 
    <input type ="submit" runat="server" id="btnSubmit" /> 
} 

편집

에 대해 시험했다 mentation. 그것은 올바른 방향으로 당신을 가리켜 야합니다. 일부 Google 검색을 수행하면 RadioButton 확장자 외에도 RadioButtonList 확장자가 있다는 것을 알았습니다. 다음은 귀하를 도울 수있는 몇 가지 링크입니다.

DevExpress documentation (RadiButtonList)

A working example on using RadioButtonList

A discussion thread on RadioButton (나는 RadioButton를 사용하는 방법에 대한 예를 찾을 수 있지만, IS는 두 가지 선택 사이에서 선택할 수있는 옵션이있는 경우 스레드에 따라 당신이 RadioButton을 사용할 수 있습니다; 모든 사람이이 Model/ViewModel을 통과보다는 FormCollection

012을 통해 전송하는 내기입니다 언급 한 바와 같이 다른 사람이) RadioButtonList을 위해 또한

을 선택해야

+0

양식을 타사 컨트롤에 포함하기 때문에 ViewContext.Writer.Write를 사용하고있었습니다. 나는 또한 제출 버튼을 사용하지 않고있다. 이것은 컨트롤에 의해 만들어진 포스트 백이다. 아마도 내가 사용하고있는 컨트롤이있는 버그 일 것입니다. 간단한 예제 페이지를 만든 다음 업데이트를 게시합니다. – Lifes

+0

그래서 DexExpress MVC Extension을 사용하고 있습니다. 나는 버그가 있다고 생각하지 않는다. (다른 포럼에서는 이것에 대해 많은 토론이있을 것이다.) 나는 나의 포스트를 편집했다; 봐라. –

관련 문제