パラメータを使用して、動的に作成されるいくつかの UserControls があります。
foreach (DataRow dr in drc)
{
question = (from ques in bdd.QUESTION where ques.ID_QUESTION == idQuestion select ques).FirstOrDefault();
List<Object> listParams = new List<Object>();
listParams.Add(question);
AdminQuestion qa = (AdminQuestion)(Controller.LoadControl(Page, "~/UserControls/AdminQuestion.ascx", listParams.ToArray()));
pnl_question_list.Controls.Add(qa);
}
これは私が SoF で見つけた方法で、うまく機能します。ボタンをクリックするとこのメソッドが呼び出され、すべてのユーザーコントロールが正しく作成されます。このユーザーコントロールには、ボタンがあります:
<asp:Button ID="btn_validation_modify_question" runat="server" Text="Modifier"
CssClass="clear_left_float_left myBouton myBoutonEnvoyer"
OnClick="btn_validation_modify_question_Click"/>
そして私の方法:
protected void btn_validation_modify_question_Click(object sender, EventArgs e)
{
QUESTION q = (from m in bdd.QUESTION where m.ID_QUESTION == question.ID_QUESTION select m).FirstOrDefault();
q.MESSAGE = txt_modify_question_message.InnerText;
q.ID_THEME = new Guid(ddl_modify_question_theme.SelectedValue);
bdd.ApplyCurrentValues<QUESTION>("QUESTION", q);
bdd.SaveChanges();
}
しかし、ボタンをクリックすると、メソッドが適用されず、宣言されたメソッドがないかのようにページがリロードされます。
私が知らない何かがありますか?私はすでにこの手法を使用しており、すべてがうまくいきました...