我有一个带有控件的页面,带有2个文本框(用户名和密码)和一个asp:Button。如果用户的成员资格将在30天内到期并且单击该按钮,我希望弹出JQuery对话框。在JQuery对话框中,我有一些文本和一个asp:LinkButton。链接按钮附加了一个事件,但是当我在对话框中单击它时它没有被触发。以下是JQuery的脚本标记:
<script type="text/javascript" src="jquery-1.3.2.js"></script>
<script type="text/javascript" src="ui.core.js"></script>
<script type="text/javascript" src="ui.draggable.js"></script>
<script type="text/javascript" src="ui.resizable.js"></script>
<script type="text/javascript" src="ui.dialog.js"></script>
以下是对话框的脚本:为了进行测试,我正在关闭Renew Membership click上的对话框,但我实际上希望它触发我在asp.net中创建的方法,以将用户引导到另一个页面并传递会话变量
<script type="text/javascript">
$(document).ready(function() {
$("#dialog").dialog({
// autoOpen: false,
modal: true,
buttons: { "Renew Membership": function() { $(this).dialog("close"); } }
});
});
</script>
<asp:Content ID="mainContent" runat="server" ContentPlaceHolderID="Content">
<div id="dialog" title="Membership Renewal">
<p>Uh Oh! Your membership is going to expire.</p><br />
<p>Hurry up and renew today!</p><br />
<asp:LinkButton runat="server" Text="Click Here to Renew"
onclick="Unnamed2_Click"></asp:LinkButton>
</div>
以下是LinkButton的点击事件:
protected void Unnamed2_Click(object sender, EventArgs e)
{
UserProfiles userProfile = (UserProfiles)Session["userProfile"];
Response.Redirect("~/Renew.aspx");
}
当用户点击登录按钮时,只有当他们离开的日期是<= 30时才会弹出对话框,如果他们这样做,他们可以选择点击登录按钮在对话框中链接并转到更新页面,我想在其中传递一个带有配置文件的Session变量,但是没有被调用,所以我想,我想知道如何添加按钮的事件处理程序到对话框,有没有办法设置它,以便它只出现一次,例如向用户浏览器添加一个cookie,只有在没有设置cookie的情况下才显示它。
答案 0 :(得分:1)
我认为这更像是一个ASP.NET问题而不是jQuery对话框问题。
我不会在同一个LinkButton中使用onClick和PostBackUrl。因此,取消PostBackUrl属性,改为使用
protected void Unnamed2_Click(object sender, EventArgs e){
UserProfiles userProfile = (UserProfiles)Session["userProfile"];
Response.Redirect("~/Renew.aspx");
}
如果您只需要在用户&gt;时显示控件30天。我会创建一个用户控件。
<强> jquery.renewDialog.js 强>
$(document).ready(function() {
$("#dialog").dialog({
modal: true
});
});
<强> RenewalUserControl.ascx 强>
<asp:ScriptManager runat="server" id="ScriptManager1">
<Scripts>
<asp:ScriptReference Path="jquery.renewDialog.js" />
</Scripts>
</asp:ScriptManager>
<div id="dialog" title="Membership Renewal">
<p>Uh Oh! Your membership is going to expire.</p><br />
<p>Hurry up and renew today!</p><br />
<asp:LinkButton runat="server" Text="Click Here to Renew"
onclick="Unnamed2_Click" />
</div>
<强>的Login.aspx 强>
<uc1:RenewalUserControl runat="server" ID="RenewalUserControl1" Visible="false" />
<强> Login.aspx.cs 强>
if (user.IsExpired)
{
RenewalUserControl1.Visible = true;
}