3

ASP.NET Webページ(MVCではない)(HomePage.aspx)と別のページ(PRiceList.aspx)があります。ホームページにログイン機能があるので、ユーザーがサイトにログインすると、ホームページのリンクを使用して、pricelist.aspxページを簡単に作成できます。ログインせずにページにアクセスしている場合は、ログインするためのモーダルログインボックス(バックグラウンドが無効)を表示したいと思います。これはjqueryuiサイトで見ましたが、私のサイトでこれを実装する方法を教えてもらえますか?この方法を使用しているときにjavascriptを使用してユーザーの資格情報をサイトに送信しているので、これにセキュリティ上の問題はありますか(わかりません)。ご意見をお聞かせください。前もって感謝します

4

2 に答える 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");

ユーザーが認証されたかどうかに応じて、true または 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 に答える