2012-08-22 2 views
3

bool 변수 형식을 사용하여 중계기의 데이터 소스를 사용하여 체크 박스를 올바르게 설정할 수 있는지 궁금합니다.CheckBox를 ASP 중계기에서 "Checked"로 설정

내가 ... 여러 가지 있지만 성공하지를 시도했다 :

public bool IsDefault 

리피터의 데이터 소스 목록입니다 :

<asp:Repeater ID="rpt" runat="server"> 
    <itemTemplate> 
     <asp:CheckBox runat="server" CssClass="checkbox" 
      Checked="<%#Eval("IsDefault").ToString().ToLower()%>" 
      ID="isDefaultCheckBox"/> 
    </itemTemplate> 
</asp:Repeater> 

<asp:Repeater ID="rpt" runat="server"> 
    <itemTemplate> 
     <asp:CheckBox runat="server" CssClass="checkbox" 
      Checked="<%# DataBinder.Eval(Container.DataItem, "IsDefault")%>" 
      ID="isDefaultCheckBox"/> 
    </itemTemplate> 
</asp:Repeater> 

IsDefault 클래스보기의 필드입니다.

Checked="%#Eval... 

편집 : 첫 번째 접근 방식에서 누락 된 <있다, 그런데

Checked='<%# Bind("IsDefault") %>' 

:

+0

당신이를 시도) %> ''? –

+0

예 - 또한 작동하지 않습니다. –

답변

3

또 다른 솔루션하여 ItemDataBound 이벤트 처리된다

<asp:Repeater ID="rpt" runat="server" OnItemDataBound="rpt_ItemDataBound"> 
    <itemTemplate> 
     <asp:CheckBox runat="server" CssClass="checkbox" ID="isDefaultCheckBox"/> 
    </itemTemplate> 
</asp:Repeater> 

를 ... 코드의 문제는 실제로입니다

protected void rpt_ItemDataBound(object sender, RepeaterItemEventArgs e) 
{ 
    RepeaterItem ri = e.Item; 
    var dataItem = ri.DataItem as YourClassOrInterface; 
    var isDefaultCheckBox = ri.FindControl("isDefaultCheckBox") as CheckBox; 
    isDefaultCheckBox.Checked = dataItem.IsDefault; 
} 
+0

예. 저에게 효과가있는 고마워요! –

3

는 나는이 방식으로 작동한다는 것을 상당히 확신 (이후 질문을 수정하고 수정했습니다.)

이제 뭔가가 있습니다. 다른 잘못, 당신은 여기에 두 개의 연속 따옴표를했습니다 :

Checked="<%#Eval(" 
+0

실수를 저지르고 코드를 복사하는 중입니다. '<% # Eval ("IsDefault") %>'는 여전히 작동하지 않습니다. –

+0

@ 이전 프로젝트로 보았을 때, 체크 박스의 체크 된 속성을 위해'Bind'를 사용했습니다. 내 편집 된 답변보기 정말로 그것이 데이터 소스의 부울인지 확실합니까? –

+0

예, 확실합니다. 나는 이유를 모르지만, 여전히 당신의 방식으로 작동하지 않습니다. –

2

더블 쿼트를 중첩한다는 사실.

Checked="<%# DataBinder.Eval(Container.DataItem, "IsDefault")%>" 

Checked='<%# DataBinder.Eval(Container.DataItem, "IsDefault")%>' 
3

오래된 질문해야하지만, 나는 훨씬 간단 뭔가를 사용하여 내 응용 프로그램에서이 문제를 해결`검사 = '<% # 평가 ("IsDefault"

<asp:CheckBox ID="chkIncludePdf" runat="server" Checked='<%# Eval("DefaultInclude").ToString() == "True" %>' /> 
관련 문제