2011-03-30 1 views
0

У меня есть страница ASP.NET в наборе фреймов. Я разделил на 2 кадра, 1.LEFTNAVI и 2.MAIN.Целевой набор кадров в ASP.NET для нового фрейма

В первом кадре (LEFTNAVI) Я использую текстовое поле и кнопку для поисковой системы в нижнем древовидном меню. Если я нажму кнопку поиска или меню, он отобразит результат во втором кадре (MAIN) (то есть target=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-адрес перенаправления после успешного входа в систему и автоматически перенаправить на него. в вашем случае он перенаправляется на страницу результатов (а не на страницу поиска).

образца сценарий:

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); 
    } 
} 

помните, если вы используете поставщик членства ASP.NET, он будет делать это для вашего.