private async Task NewQuestion()
        {
            tbComments.Text = "";
            Questions       = await GetQuestions();

            if (Questions == null)
            {
                lbNoResults.Visible = true;
                pnlAll.Visible      = false;
                return;
            }
            QuestionContents = await GetQuestionContents();

            QuestionData = await GetQuestionData();

            if (Bundle != null)
            {
                passageText = Bundle.Get <string>("passageText");
            }
            int idx = 1;

            for (int i = 0; i < Questions.Length; i++)
            {
                QuestionBlock questionBlock = (QuestionBlock)LoadControl("~/UserControls/QuestionBlock.ascx");
                questionBlock.FillContents(Questions[i], QuestionContents[i], QuestionData[i], idx++);
                pnlQuestions.Controls.Add(questionBlock);

                AlreadyVisited.Add(Questions[i].ObjectId);
            }
        }
        protected void grdQuestions_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "View")
            {
                SelectedQuestionId = e.CommandArgument.ToString();
                Question question = AsyncHelpers.RunSync <Question>(() => Question.GetFullQuestionById(SelectedQuestionId));
                if (question.InBundle)
                {
                    pnlBundle.Visible = true;
                    Image1.ImageUrl   = question.Bundle.Image == null ? "" : question.Bundle.Image.Url.ToString();
                    lbBundleText.Text = question.Bundle.PassageText;
                }
                else
                {
                    pnlBundle.Visible = false;
                }
                QuestionBlock questionBlock = (QuestionBlock)LoadControl("~/UserControls/QuestionBlock.ascx");
                questionBlock.FillContents(question);
                pnlQuestions.Controls.Add(questionBlock);

                popup.Show();
            }
        }