[SalesForce] Render pageBlockSection based on RecordType

I am trying to build a custom New Case page, but am having issues getting sections to load based on the Record Type.

<apex:outputField label="Record Type: " value="{!Case.RecordTypeId}"/>
<apex:pageBlockSection rendered="{!Case.RecordTypeId == 'SFDC Request'}" columns="1">

   <apex:outputText>This is the new case page for SFDC Request record layout.</apex:outputText>

</apex:pageBlockSection>

The above code outputs the correct record type in the first line (the outputField), but the BlockSection does not render. I have also tried using {!Case.RecordType.Name} but that does not work either (in either the render or the outputField).

Here is what is displayed when SFDC Request record type is selected using the above code snippit:

enter image description here

Any suggestions as to why this is not working?

Trying RecordType.Name:

<apex:page StandardController="Case">

    <apex:form >
        <apex:pageBlock title="New Case" mode="edit" >

            <apex:pageBlockButtons >
                <apex:commandButton action="{!save}" value="Save"/>
                <apex:commandButton action="{!cancel}" value="Cancel" onclick="window.close()"/>
            </apex:pageBlockButtons>

            <apex:pageBlockSection columns="1">
                <apex:outputField label="outputField Case.RecordTypeId is: " value="{!Case.RecordTypeId}"/>
                <apex:outputText label="outputText Case.RecordTypeId is: "> {!Case.RecordTypeID}</apex:outputText>
                <apex:outputField label="outputField Case.RecordType.Name is: " value="{!Case.RecordType.Name}"/>
                <apex:outputText label="outputText Case.RecordType.Name is: ">{!Case.RecordType.Name}</apex:outputText>

            </apex:pageBlockSection>

            <apex:pageBlockSection rendered="{!Case.RecordType.Name == 'SFDC Request'}" columns="1">

                <apex:outputText >This is the new case page for SFDC Request record layout.</apex:outputText>

            </apex:pageBlockSection>

        </apex:pageBlock>
    </apex:form>
</apex:page>

Results:

enter image description here

Best Answer

{!Case.RecordTypeId == 'SFDC Request'} can never work since RecordTypeId is Salesforce-Id in the form of '012b0000009nNoA' which will never equal to 'SFDC Request'

However if you use it within an apex:outputField the platform may show you the name implicitly. This is possibly the reason, why you are a bit confused. Try to use apex:outputText instead to dump the real value.

Your approach using {!Case.RecordType.Name} looks way better. Try to output this via apex:outputText. Does it output 'SFDC Request'? If so, try to use the IF() formula inside the {!....} token instead of the == operator.