Итак, я создаю простой формат вопрос/ответ и имею проблему при отправке ответа. Я динамически создаю divs/buttons/textboxs из базы данных с помощью функции RenderQuestions(). Это создает список вопросов и ответов на текстовые поля/кнопки. При попытке ответить на вопрос, я набираю свой ответ, нажимаю кнопку «Отправить», и ничего не происходит. Я делаю это снова, и это показывает мой первый ответ. Это «шаг за шагом». Если я обновляю его, он покажет все ответы, как следует. Я боролся с этим всю ночь. Вот код:Динамически созданный контент обновляет «шаг за шагом» при нажатии кнопки
-----My page load----- (Relevant parts)
protected void Page_Load(object sender, EventArgs e)
{
//If authenticated hide login & show welcome bloc
if (User.Identity.IsAuthenticated)
{
//Show question & render
questionsBloc.Visible = true;
//if(Page.IsPostBack)
RenderQuestions();
}
-----RenderQuestions() function---- (The relevant parts)
//Initialize & get answers
List<Answer> answers = new List<Answer>();
answers = um.GetAnswers(q.QuestionID);
//Initialize html render
HtmlGenericControl questionDiv = new HtmlGenericControl("div");
TextBox txtAnswer = new TextBox();
Button btnAnswer = new Button();
//Set Answer Button
btnAnswer.Text = "Answer";
btnAnswer.Click += new EventHandler(btnAnswer_Click);
//Set ID's
btnAnswer.ID = "btnAnswer" + q.QuestionID.ToString();
questionDiv.ID = "questionDiv" + q.QuestionID.ToString();
//Set classes
questionDiv.Attributes.Add("class", "questionBloc");
btnAnswer.CausesValidation = false;
btnAnswer.EnableViewState = false;
//btnAnswer.UseSubmitBehavior = true;
//Fill inner text with question
questionDiv.InnerText = q.QuestionContent; //Insert question..
//actionDiv.InnerText = "Like/Dislike/Comment/Flag"; //Insert answer..
//Add answer textbox and button to action div
actionDiv.Controls.Add(btnAnswer);
//Add question div to qaDiv
qaDiv.Controls.Add(questionDiv);
//Add action div to qaDiv
qaDiv.Controls.Add(actionDiv);
//Add all controls to feedbloc
feedBloc.Controls.Add(qaDiv);
-----My btnAnswer event handler -----
private void btnAnswer_Click(object sender, EventArgs e)
{
UserManager um = new UserManager();
um.PostAnswer("My first answer!");
//RenderGlobalFeed();
}
Это все ссылки на мою кнопку .. Должен ли я инициализировать событие щелчка БТН в моем Page_Init? Буду признателен за любую оказанную помощь.
Спасибо ребята
Как я могу это сделать в коде? Установить PostBackURL на страницу переадресации? –
Это запускает событие. Но сначала он запускает RenderQuestions(). Как я могу изменить порядок? –