我有一个 ASP.NET 网页(不是 MVC)(HomePage.aspx)和另一个页面(PRiceList.aspx)。我的主页中有登录功能。所以当用户登录网站时,他们可以去pricelist.aspx 页面很容易使用主页中的链接。如果有人在没有登录的情况下进入页面,我想显示一个模式登录框(背景禁用)来登录。我在 jqueryui 网站上看到了这个。谁能告诉我如何在我的网站上实现这个?这是否存在任何安全问题,因为我在使用此方法时使用 javascript 将用户凭据发送到站点(我不确定)。请指教。提前致谢
问问题
34622 次
2 回答
7
jQuery Modal Form Dialog 是你可以去这里的方式。我做了一个测试应用程序做你想做的事,它运行良好。
ASPX 页面的标记:
<div id="dialog" title="Please Login">
<asp:Login ID="login" runat="server" />
</div>
页面所需的 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");
}});
我在aspx页面上使用的代码:
ClientScript.RegisterHiddenField("isAuthenticated", "false");
你会给它真或假,这取决于用户是否经过身份验证,所以 javascript 会知道是否显示登录名。
现在关于安全性。登录不会由 javascript 完成,因为用户会点击该登录页面上的按钮,然后它会像往常一样发回服务器。如果您想使用 ajax,则必须查看 jQuery $.ajax方法。
于 2009-05-15T06:17:06.083 回答
2
使用 jquery 对话框:
http://jqueryui.com/demos/dialog
这也需要您将模式添加回 DOM。
jQuery(".loginPanel").each(function()
{
var popup = jQuery(this);
popup.parent().appendTo(jQuery("form:first"));
});
于 2009-05-15T05:51:30.933 回答