单击按钮时隐藏模态弹出面板

时间:2013-11-11 16:11:42

标签: c# asp.net ajaxcontroltoolkit

我已经使用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();

2 个答案:

答案 0 :(得分:0)

如果您回发到服务器,则必须显示ModalPopupExtender,您可以使用Page_PreRender

protected void Page_PreRender(object sender, System.EventArgs e)
{
    answer.Show();
}

答案 1 :(得分:0)

当您单击面板中的按钮时,它会导致完整的回发。在这种情况下,将页面返回到原始状态,并忽略打开的模式面板。

我建议将更新面板放在面板内部,并将所有面板内容放在更新面板内。

这将告诉asp.net只进行部分回发,只刷新更新面板内的控件。