Response.Redirect不会更改url c#

时间:2013-06-11 16:30:04

标签: c# asp.net jquery jquery-mobile

我正在使用jQuery和jQueryMobile框架构建asp .net网站。成功登录后,我可以看到下一页的内容,但网址保持不变,即/Login.aspx

当我按F5时,只有URL更改。

的Login.aspx

<div data-role="content">
    <form id="frmLogin" method="post" runat="server" action="Login.aspx">
        <div data-role="fieldcontain">
            <input type="text" name="txtUserName" id="txtUserName" placeholder="User Name" value="" runat="server" /><br />
            <input type="password" name="txtUserPass" id="txtUserPass" placeholder="Password" value="" runat="server" />
            <br />          
            <button id="cmdLogin" type="button">Login</button>
        </div>
    </form>
    <div id="divDialog"></div>
</div>

点击cmdLogin登录按钮

时调用JavaScript
$('#cmdLogin').click(function () {
        $.ajax({
        url: 'ajaxExecute.aspx?Fn=VUSR',
        type: 'POST',
        context: document.body,
        data: 'User=' + $('#txtUserName').val() + '&Pass=' + $('#txtUserPass').val(),
        cache: false,
        success: function (response) {
            alert(f);
            if (response == '1') {                    
                f.submit();
            }
            else {
                /*
                Print Error
                */
            }
        }
    });
});

登录代码

Login.aspx.cs

protected void Page_Load(object sender, EventArgs e)
{
    if (IsPostBack)
    {       
        routeToDefaultPage();
    }   
}
private void routeToDefaultPage()
{
    Response.Redirect("Piechart.aspx");
}

这里有什么问题?

当我在登录成功后检查元素时(Piecharts.aspx的内容,但URL为Login.aspx)。我在头部看到了以下内容

<base href="http://localhost:49712/Login.aspx">

4 个答案:

答案 0 :(得分:0)

单击时,确定将标记ispostback指定为true。这条线上的断点对你有帮助吗?

答案 1 :(得分:0)

试试这个:

Response.Redirect("Piechart.aspx");
Response.End();

答案 2 :(得分:0)

ajax调用后jquery重定向怎么样?

尝试在ajax调用成功后添加此项。 header( 'Location: Piechart.aspx' );

$('#cmdLogin').click(function () {
        $.ajax({
        url: 'ajaxExecute.aspx?Fn=VUSR',
        type: 'POST',
        context: document.body,
        data: 'User=' + $('#txtUserName').val() + '&Pass=' + $('#txtUserPass').val(),
        cache: false,
        success: function (response) {
            // redirects page after login successful
            header( 'Location: Piechart.aspx' );            

            alert(f);
            if (response == '1') {                    
                f.submit();
            }
            else {
                /*
                Print Error
                */
            }
        }
    });
});

答案 3 :(得分:0)

这对我有用...... !!

$.mobile.changePage( "/Piecharts.aspx", {
  transition: "pop"
});