2

私はすでにこの記事を見つけました:

http://www.dotnetcurry.com/ShowArticle.aspx?ID=181&AspxAutoDetectCookieSupport=1

しかし、私は別の状況にあります。マスター ページ内にいくつかの hiddenFields を埋め込み、dragPanel の位置をそれらに格納しようとしています。

javascript を使用して dragPanel の位置を保存しています。ユーザーがリンクをクリックすると、新しいページが読み込まれますが、dragPanel は開始位置にリセットされます。

これを行う簡単な方法はありますか?

擬似コード:

**this is in MasterPage.master**


function pageLoad()

{  

    // call the savePanelPosition when the panel is moved

    $find('DragP1').add_move(savePanelPosition);  

    var elem = $get("<%=HiddenField1.ClientID%>");   

    if(elem.value != "0")
    {

        var temp = new Array();

        temp = elem.value.split(';');

        // set the position of the panel manually with the retrieve value

        $find('<%=Panel1_DragPanelExtender.BehaviorID%>').set_location(new 

Sys.UI.Point(parseInt(temp[0]),parseInt(temp[1])));

    }

}      


function savePanelPosition()

{
    var elem = $find('DragP1').get_element();

    var loc = $common.getLocation(elem);

    var elem1 = $get("<%=HiddenField1.ClientID%>");

    // store the value in the hidden field

    elem1.value = loc.x + ';' + loc.y;

}        


<asp:Button ID="Button1" runat="server" Text="Button"/>

<asp:HiddenField ID="HiddenField1" runat="server" Value="0" 

ただし、リダイレクトされたページfoo.aspx にはHiddenFieldは表示されません。

4

2 に答える 2

1

位置情報を隠しフィールドに保存するのではなく、Cookie に保存します。情報は小さいため、ページの読み込みパフォーマンスへの影響は最小限です。

于 2008-09-16T19:58:34.057 に答える
0

さて、私はドラッグを機能させ、データベースに保存し、すべてを1台のモニター1600X1050でクールに表示します。ちょっと待って!他のモニター1366x768で同じページを表示すると、パネルがすべてオフになっています。

保存機能はピクセル単位で保存するため、別の「解像度」に移動すると、パネルがオフになります。知ってる?

PS私はユーザーにモニター設定を変更するように指示するメッセージをポップアップすることができました、笑...

于 2011-11-19T16:25:55.317 に答える