0

modalpopextender でパネルを作成しましたが、パネル内のボタンをクリックするとパネルが消えてしまいます。

これは modalpopup の asp.net コードです。

 <td class="style3">
                <asp:Button ID="Button5" runat="server" style="background-color: #FFFFFF" />
                <asp:ModalPopupExtender ID="answer" runat="server" DynamicServicePath="" 
                    Enabled="True" TargetControlID="Button5" PopupControlID="Panel1" CancelControlID="Button3" >
                </asp:ModalPopupExtender>
            </td>

これは、データベースにデータを挿入し、modalpopup パネルを表示するための asp.net です。

 string sql = "insert into questions (id,quest,mark) values (@id,@quest,@mark);select scope_identity();";
    SqlCommand x = new SqlCommand(sql, con);
    x.Parameters.AddWithValue("@id", Session["exam"].ToString());
    x.Parameters.AddWithValue("@quest", TextBox1.Text );
    x.Parameters.AddWithValue("@mark", TextBox2.Text);
    con.Open();
    Session["quest"] = x.ExecuteScalar().ToString();
    con.Close();
    answer.Show();
4

2 に答える 2

0

パネルのボタンをクリックすると、完全なポストバックが発生します。この場合、ページを元の状態に戻し、開いているモーダル パネルを無視します。

私がお勧めするのは、更新パネルをパネル内に配置し、すべてのパネル コンテンツを更新パネル内に配置することです。

これにより、部分的なポストバックを実行し、更新パネル内のコントロールのみを更新するよう asp.net に指示します。

于 2013-11-11T16:17:46.373 に答える
0

ModalPopupExtenderサーバーにポストバックする場合は、次を使用できることを示す必要がありますPage_PreRender

protected void Page_PreRender(object sender, System.EventArgs e)
{
    answer.Show();
}
于 2013-11-11T16:15:46.073 に答える