2014-11-27 2 views
0

그래서 내 페이지에서 나는 쿼리 문자열이 특정 상태 인 경우에만 나타나는 ASP : DropDownList가 필요합니다.asp 인라인 databound 메서드를 호출하지 않는

내 ASP 문서는이

<asp:content ID="content" ContentPlaceHolderID="MainContent" runat="server"> 

<asp:DropDownList runat="server" 
        ID="FiscalYearHistoryYearsDropDown" 
        Visible='<%# Me.IsHistoryPage()%>'> 

</asp:DropDownList> 

<!-- Some other markup --> 

</asp:content> 

처럼 그리고 난 내가 방법 내부에 중단 점을 넣어가 호출되지 않습니다 백엔드 방법을

Public Function IsHistoryPage() As Boolean 

    Dim IsHistory As Boolean = False 

    If Me.TransactionStatus = Enumerations.TransactionStatus.Posted Then 
     IsHistory = True 
    End If 

    Return IsHistory 

End Function 

있습니다. 인라인 ASP를 만들려고했는데 < % =하지만 작동하지 않았습니다. 나는 작은 따옴표와 큰 따옴표를 사용했다. 그러나 그것은 어느 쪽도 일하는 것처럼 보이지 않았다. 나는 또한 메서드 호출 대신 인라인 IIF() 블록을 시도했다.

# < % # 불평하지 않는 것이 페이지를 불러옵니다. 그것은 항상 사실입니다.

내가 < % 또는 < % =을 사용하면 노란색 페이지가 표시됩니다.

답변

0

<%# %>은 데이터 바인딩 컨텍스트입니다. 대개 어떤 종류의 템플릿에서 데이터 바인딩 된 컨트롤 안에 데이터를 가져 오려는 경우에 사용해야합니다. DropDownList로는 데이터 바인딩 컨트롤 비록 그것이 보통 태그를 출력하므로 서버 -을 설정하는 데 사용될 수 있으므로, 그렇게 %#

<%= %>Response.Write에 상당하는 옵션이 아닌, 하나의 내부에 사용되고 있지 사이드 컨트롤 속성.

<% %> 아무 정보도 어디서나 출력되지 않습니다.

%#%=이 존재하는 이유는 개발자가 사소한 일이 아닌 경우 코드 숨김과 마크 업간에 약간의 상호 작용을 생성 할 수있는 능력을 부여하기 위해서입니다. 귀하는 Page_Load 또는 Page_PreRender에서 이것을 실행할 수 있기 때문에 다른 경우입니다.

FiscalYearHistoryYearsDropDown.Visible = IsHistoryPage() 
관련 문제