문제

고 싶 설정 버튼이 활성화되어 있는 상태의 부정 값입니다.

그래서 주어진 이 코드:

<asp:CheckBox ID="DefaultChecked" 
              Checked='<%# Bind("IsDefaultMessage") %>' 
              Enabled="false" 
              runat="server" />

<asp:LinkButton ID="MakeDefaultButton" 
                runat="server" 
                CommandName="MakeDefault' 
                CommandArgument='<%# Bind("ResidentialInfoID") %>' 
                Text="Make Default" />

어떻게 만들 수 있습니 LinkButton Enabled 특성 false 는 경우 IsDefaultMessage == true?

도움이 되었습니까?

해결책

바인딩 대신 eval을 사용하십시오. Bind는 양방향 바인딩을위한 것입니다. 즉, 데이터를 데이터 소스에 다시 저장할 수있는 경우.

BIND를 사용하면 컴파일 된 페이지가 실제로 값을 설정하여 값을 설정하는 코드와 저축 값을 읽는 코드를 실제로 생성했습니다. BIND는 생성 된 코드로 대체되므로 BAND와 함께 추가 로직을 사용할 수 없습니다.

<asp:CheckBox ID="DefaultChecked" Checked='<%# !(bool)Eval("IsDefaultMessage") %>' Enabled="false" runat="server" />
<asp:LinkButton ID="MakeDefaultButton" runat="server" CommandName="MakeDefault' CommandArgument='<%#Bind("ResidentialInfoID") %>' Text="Make Default"/>

다른 팁

는 경우 사용할 수 있습 Eval,그것은 단지 방법 Control 클래스입니다.그것만 특별한에서 필요로 하는 것에서의 컨텍스트 데이터 바인딩 블록 <%# ... %>.다른 것보다,당신은 수 있습니다 기본적으로 치료 블록처럼 일정 <%= %> 식 block:

<%# !(bool)Eval("IsDefaultMessage") %>

는 경우 당신은 여전히 원하는 바인딩(Eval 지 않는 왕복),이해야 합니다 그것을 부정하는 동안 앞뒤로 데이터 바인딩.이 필요하지 않을 수도 있습 이지만,당신이 할 수있는 경우 다시 말씀어 있습니다.예를 들어,는 경우 체크 박스는 대신 그것은 라벨링는"기본"메시지는 사용자와 그것을 부정하고 앞으로,보다 lable 그것은"기본 메시지".인위적인 예를 들어,하지만 당신은 아이디어를 얻을 수 있습니다.

나는 Bind를 사용한 적이 없지만 내 이해는 Databinder.eval과 유사하다는 것입니다. 어느 쪽이든, 두 방법 모두 객체를 반환하므로 평가하기 전에 부울에 캐스팅해야합니다.

<%# !Convert.ToBoolean(Bind("IsDefaultMessage") %>

편집 :이 작업을 수행 할 수없는 것처럼 보이며 페이지에서 SQLDATASOURCE를 사용하면 문제가 해결됩니다. http://forums.asp.net/t/1009497.aspx.

누군가가 vb.net과 함께 옵션을 찾고있는 경우

<asp:CheckBox ID="DefaultChecked" Checked='<%# NOT (Eval("IsDefaultMessage")) %>' Enabled="false" runat="server" />

내가 기억하는 것처럼 (오랜만에) 특별한 마법이 없습니다. <%#Bind(. 그냥이야 #Bind( 내부 <%....%>. 이는 원하는 것을 의미합니다.

 <%  ! #Bind("IsDefaultMessage") %>'

코드

Checked='<%# Eval("IsDefaultMessage").ToString().Length() > 4 %>'

"false".length = 5 및 "true".length = 4 이후에 isdefaultmessage가 false 인 경우 true를 반환합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top