ASP.NET frameset target для нового кадра - PullRequest
0 голосов
/ 30 марта 2011

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

В первом кадре (LEFTNAVI) я использую текстовое поле и кнопку дляпоисковая система в нижнем меню дерева.Если я нажму кнопку или меню поиска, результат отобразится во 2-м кадре (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>

1 Ответ

0 голосов
/ 30 марта 2011

Вы можете использовать URL перенаправления. в этом случае ваша страница входа в систему должна иметь параметр в строке запроса, который будет отображать 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, оно сделает это за вас.

...