2011-03-30 5 views
0

フレームセットにASP.NETページがあります。私は2フレーム、1.LEFTNAVI2.MAINに分けました。ASP.NETフレームセットを新しいフレームに設定する

最初のフレーム(LEFTNAVI)では、下のツリーメニューの検索エンジンにテキストボックスとボタンを使用しています。検索ボタンまたはメニューをクリックすると、結果は2番目のフレーム(MAIN)(つまりtarget=MAINに表示されます。今問題は、アプリケーションセッションが終了した後、検索ボタンをクリックすることです。セッションを開始するためのログインページが表示されます。ログイン後、MAINフレームにLEFTNAVIフレームテキストが表示されます。つまり、メインフレームにテキストボックス、検索ボタン、ツリーメニューが表示されます。

以下は、left.aspxで使用しているコードです。

<script type="text/javascript" language="javascript"> 
    function pageSubmit() 
    { 
     var myForm = document.getElementById('form1'); 
     myForm.target = 'main'; 
    } 
    function KeyDownHandler(btn) 
    { 
     if (event.keyCode == 13) 
     { 
      event.returnValue=false; 
      event.cancel = true; 
      btn.click(); 
     } 
    } 
</script> 

<body> 
    <form id="form1" method="post" runat="server"> 
     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
     <div id="searchFunc" runat="server"> 
      <asp:TextBox 
       ID="txtSearch" 
       CssClass="txtbox" 
       onKeyDown= "KeyDownHandler(searchButt)" 
       runat="server"></asp:TextBox> 
      <asp:Button 
       ID="searchButt" 
       runat="server" 
       CssClass="smallbutton" 
       Text="Search" 
       onclick="searchButt_Click" 
       OnClientClick="pageSubmit()" /> 
     </div> 
     <br /> 
     <br /> 
     <asp:TreeView 
      CssClass="treeview" 
      ID="tree" 
      runat="server" 
      LineImagesFolder="~/TreeLineImages" 
      ShowLines="True" ExpandDepth="1" > 
      <Nodes> 
       <asp:TreeNode Text="sample tree menu" Value="sam" SelectAction="Expand"> 
      </Nodes> 
     </asp:TreeView> 
    </form> 
</body> 

答えて

0

リダイレクトURLを使用できます。この場合、ログインページにはクエリ文字列のパラメータが必要です。魔法使いはログインページにリダイレクトされたページURLを示し、ログインページはログイン後にそのページにリダイレクトする必要があります。

この場合、ログインページはログインに成功した後にリダイレクトURLを確認し、自動的にリダイレクトされます。あなたのケースでは、結果ページ(検索ページではない)にリダイレクトされます。

サンプルシナリオ:あなたはそれがあなたのためにそれを行いますasp.netのメンバシッププロバイダを使用している場合

private void DoLogin() 
{ 
    //write some code for user validation 


    if(loggedin) //login was successful 
    { 
     //redirect to page that redirected to login because of session end 
     var redirectUrl = Request.QueryString["redirectUrl"]; 
     Response.Redirect(redirectUrl); 
    } 
} 

を覚えています。

関連する問題