In this article, we focus on the study of bilevel programming problems where the feasible set in the lower-level problem is an abstract closed convex set and not described by any equalities and inequalities. In such a situation, we can view them as MPEC problems and develop necessary optimality conditions. We also relate various solution concepts in bilevel programming and establish some new connections. We study in considerable detail the notion of partial calmness and its application to derive necessary optimality conditions and also give some illustrative examples. © Springer Nature Singapore Pte Ltd 2017.