ASP.NET 2.o页面的jQuery登录模式弹出窗口

Shy*_*yju 3 asp.net jquery modalpopups .net-2.0

我有一个ASP.NET网页(不是MVC)(HomePage.aspx)和另一个页面(PRiceList.aspx).我的主页上有一个登录功能.所以当用户登录网站时,他们可以去pricelist.aspx页面很容易使用主页中的链接.如果有人正在进入页面而没有登录,我想显示模式登录框(禁用后台)登录.我在jqueryui网站上看到了这个.任何人都可以告诉我如何在我的网站中强制这一点?是否存在任何安全问题,因为我在使用此方法时使用javascript将用户凭据发送到网站(我不确定).请指教.提前致谢

Gro*_*mer 7

jQuery Modal Form Dialog是你去这里的方式.我做了一个测试应用程序做你想要的东西,它运作良好.

ASPX页面的标记:

<div id="dialog" title="Please Login">
        <asp:Login ID="login" runat="server" />
</div>
Run Code Online (Sandbox Code Playgroud)

页面需要Javascript:

$(document).ready(function() {
$("#dialog").dialog({
    bgiframe: true,
    autoOpen: false,
    height: 300,
    modal: true,
    buttons: {
        Cancel: function() {
            $(this).dialog("close");
        }
    },
    close: function() {
        allFields.val("").removeClass("ui-state-error");
    }
});

var isAuthenticated = $("#isAuthenticated").val();
if (isAuthenticated && isAuthenticated == "false") {
    // Display the modal dialog.
    $("#dialog").dialog("open");
}});
Run Code Online (Sandbox Code Playgroud)

我在aspx页面上使用的代码:

ClientScript.RegisterHiddenField("isAuthenticated", "false");
Run Code Online (Sandbox Code Playgroud)

您可以将其赋予真或假,具体取决于用户是否经过身份验证,因此javascript会知道是否显示登录信息.

现在关于安全性.登录不会由javascript完成,因为用户会点击该登录页面上的按钮,它会像正常一样回发到服务器.如果你想使用ajax,你必须检查jQuery $ .ajax方法.