关于c#:使用没有查询字符串的javascript重定向到另一个页面

Redirect to another page using javascript without query string

我想重定向到另一个页面,只使用javascript传递一些参数。我不应该使用查询字符串。有什么办法可以做到这一点吗?我正在使用ASP.NET。

我希望此重定向与DevExpress计划程序控件一起使用,在该控件中,当用户单击某个约会时,将通过将所选约会的ID作为参数传递,将用户重定向到另一页。它不应作为查询字符串传递。

我还想知道如何从重定向的页面中检索这种不可见的参数。

好的,我找到了我的解决方案。

我用javascript点击一个设置为style="display:none"。在我的场景中,我可以获取我单击的调度程序约会的属性。然后,我将这些属性放在隐藏字段中,并在服务器端单击此"不可见"按钮的事件中,使用这些隐藏字段值通过服务器端进行重定向。我的代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<asp:Button ID="Appointment" runat="server" Text="sample"
    onclick="Appointment_Click" style="display:none"/>




<script type="text/javascript" language="javascript">
    function OnAppointmentClick(s, e) {
        //debugger;
        var apt = scheduler.GetAppointmentById(e.appointmentId);

        var apt1 = scheduler.GetAppointmentProperties(e.appointmentId);

        var aptID = document.getElementById('<%= hfID.ClientID %>');
        var aptDate = document.getElementById('<%= hfDate.ClientID %>');
        var aptSubject = document.getElementById('<%= hfSubject.ClientID %>');
        aptID.value = e.appointmentId;
        var date = (apt.startDate.getMonth()+1) + '/' + apt.startDate.getDate() + '/' + apt.startDate.getYear();
        aptDate.value = date;
        aptSubject.value = apt.CODE;
        document.getElementById('<%= Appointment.ClientID %>').click();
    }


试试这个:

ASP.net Code:

1
2
Response.Headers.Add("id","testtest");
Response.Redirect("http://www.somesite.com/somepage.aspx");

Java脚本代码:

1
window.location = 'http://www.somesite.com/somepage.aspx?q=manvswild';

jQuery代码:

1
2
var url ="http://www.somesite.com/somepage.aspx?q=manvswild";
$(location).attr('href',url);

jquery ajax代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
$.ajax({
    type : 'POST',
    url : 'page.aspx',
    data : {
        paramname1 :"put_param_value_here",
        paramname2 :"put_param_value_here",
        paramname3 :"put_param_value_here"
    },
    dataType : 'html',
    success : function (e) {
        window.location = e;
    }
});

//或short方法是

1
2
3
4
5
6
$.post("page.aspx", {
    param1 : 'one',
    param2 : 'two'
}, function (data) {
    window.location = data;
});

jquery插件:http://plugins.jquery.com/project/query-object

1
alert($.query.set("section", 5).set("action","do").toString());

输出:

1
?section=5&action=do


试试这个document.location.href="窗口位置.html"

这里已经问过了