2011-11-10 3 views
0

MVContrib 1.5 MVC 3 및 ​​MVCContrib 3 업그레이드하려고 노력하고있는 ASP.NET MVC 1 웹 사이트를 상속했습니다.이것에 대한 적절한 MvcContrib 3 구문은 무엇입니까?

Html.Grid

.Columns(column=>{ 
    column.For("Yes").Action(p =>{%> 
    <td> 
     <%=this.Hidden("category[" + i +"].Id").Value(p.Id)%> 
     <%=this.RadioButton("category[" + i + "].Interested").Value("true") %> 
    </td> 
    <%}); 

    column.For("No").Action(p =>{%> 
    <td> 
     <%=this.RadioButton("category[" + i + "].Interested").Value("false") %> 
    </td>              
    <%}); 
}) 

사용할 때 다음 웹 사이트를했습니다. MvcContrib .For("Yes") 있음 더 이상 유효하지 않은 구문을 사용하여 문자열을 제목으로 생성합니다.

작동하려면 .For(c=>"Yes")으로 변경해야하고 .Named("Yes")을 추가하여 헤더 텍스트를 다시 가져와야했습니다. 내가 아는 한, c=>"Yes"는 실제로 아무 것도 유용하지 않습니다. 무엇을 거기에 가야합니까? 아니면 해를 끼치 지 않으면 그냥 맡겨야합니까?

또한 .Action은 더 이상 사용되지 않으며 대신 .Custom를 사용합니다. 위의 내용을 어떻게 변환합니까?

column.Custom(p => {%> 
    <td style="text-align:center"> 
    <%=this.Hidden("category[" + i + "].Id").Value(p.Id)%> 
    <%=this.RadioButton("category[" + i + "].Interested").Value("true") %> 
    </td> 
<% }).Named("Yes"); 

이것은 반환 값을 기대하며 무엇을 놓을 지 잘 모르며 많은 예제를 찾을 수 없습니다.

답변

1
column.Custom(
    @<text> 
     <td style="text-align:center"> 
      @this.Hidden("category[" + i + "].Id").Value(item.Id) 
      @this.RadioButton("category[" + i + "].Interested").Value("true") 
     </td> 
    </text> 
).Named("Yes"); 
+0

감사 대린 : 면도기 구문은 같은 것을 볼 수 있었다. 그건 완벽하게 작동합니다. – Brandon

1

For() 방법은 그냥 속성 값을 표시 할 때 사용되는 - 그래서 당신은 그것을 좋아 사용할 수 있습니다 : 당신이 준 경우

column.For(p => p.Id).Named("Yes"); 

주 당신은 Named()를 사용할 필요가 없습니다 기본적으로 사용되므로 모델에서 Id 속성은 [Display(Name="Yes")]으로 지정됩니다.

내가 만든 html을 표시하고 싶을 때 Custom()을 사용하면 MvcHtmlString 만 반환 할 수 있습니다.

column.Custom(p => @Html.Partial("IdPartial",p.Id)); 
관련 문제