我正在使用SimpleModal在ASP.net应用程序上创建弹出窗口。 OK按钮调用服务器端函数 - 并且基于该函数的结果我想修改弹出窗口(使某些东西可见,等等)而不是让它关闭。如果这太难了,我想再次打开弹出窗口而无需用户重新点击任何内容。我只是不确定最好的办法是什么。
目前弹出窗口中的OK按钮如下所示:
<asp:ImageButton ID="submitInfoBtn" OnClick="btnSubmitInfo_Click"
ImageUrl="css/assets/btn_ok.png" runat="server"/>
并且没有任何定义可以告诉任何OK按钮应该关闭弹出窗口(Cancel按钮有class =“simplemodal-close”,所以我希望它能做到这一点,但不是OK按钮) - 任何人有什么想法通过这个最好的方式?在此先感谢!!
答案 0 :(得分:0)
您需要使用 return false 为按钮设置Javascript处理程序。看到... How to disable postback on an asp Button
注意返回false。这样可以防止回发。
现在,您可以在Javascript按钮处理程序中使用Ajax获取所需的任何服务器数据,并使用JQuery修改Popup。
顺便说一下,您还可以使用JQuery UI Dialog进行模态弹出窗口。您可以使用它获得更多支持。
答案 1 :(得分:0)
这不是那么困难,请看我弹出窗口的代码。弹出窗口中有一个OK按钮,有时单击OK会修改弹出窗口,有时点击会关闭窗口,我有误会吗?
void OK_click(object sender, EventArgs e)
{
try
{
if (DataIsValid())
{
Save();
this.Page.ClientScript.RegisterStartupScript(typeof(Page), "closeWindow", "<script type='text/javascript'>self.opener=null; self.close();</script>");
}
else ErrorLabel.Visible = true;
}
catch { ErrorLabel.Visible = true; }
}
答案 2 :(得分:0)
您需要使用SimpleModal onShow
回调绑定到OK按钮,发出ajax请求,然后检查响应并显示新内容。
您不应该使用onClose
回调,因为它只是用于动画关闭或任何清理。准备好$.modal.close();
它将涉及检查返回内容的尺寸并相应地调整模态尺寸。
查看flickr徽章查看器演示(http://www.ericmmartin.com/projects/simplemodal-demos/),了解我正在谈论的内容。