Session Value Is Not Maintained While Rendering Templates

I am rendering two different templates based on Session value

Template.ChatBox.onRendered(function () {
    debugger;
    if ($("#messages").length > 0) {
        $("#messages").hide();
    }
    else{
        $("#messagesNotAllowed").hide();
    }
    if (Session.get('IsLogin')) {
        BlazeLayout.render('ChatBox', { main: 'Conversation' });
    }
    else {
        BlazeLayout.render('ChatBox', { main: 'EmailFirst' });
    }
});

From “EmailFirst” Template when a user enters email it is redirected to Template “Conversation”

'submit #NonTechEmail': function (e, tmpl) {
        var name = tmpl.find('#name').value;
        var email = tmpl.find('#email').value;
        Session.set('UserEmail',email.toLowerCase());
        Session.set('UserName',name);
        Session.set('IsLogin',true);
        debugger;
        if(email!=null&&email!=""){
            BlazeLayout.render('ChatBox',{main:'Conversation'});
        }
    },

When Templates are rendered from EmailFirst to Conversation, the whole Main template re renders and the value of session resets to its default value which is placed in main.js
Why is this happening and what is the solution? Thanks in Advance