重定向到其他页面时,无法在查询字符串中接收参数

时间:2017-01-06 05:30:46

标签: javascript asp.net query-string

您好我正在使用java脚本开发一个应用程序。我有两个页面default.aspx和addnewitem.aspx。 default.aspx中有一个html表和一个按钮。当我点击按钮我想重定向到addnewitem.aspx页面。我有一些参数要在查询字符串中发送。我能够重定向到addnewitem.aspx但是找不到页面错误。我不知道为什么我找不到页面错误。我正在尝试如下。

function getValues() {
    var Title = "dfd";
    var PrimarySkills = "fdfd";
    var SecondarySkills = "dfdf";
    var url = "http://sites/APPSTEST/JobRequisitionApp/Pages/AddNewItem.aspx?Title=" + encodeURIComponent($(Title)) + "&PrimarySkills=" + encodeURIComponent($(PrimarySkills)) + "&SecondarySkills=" + encodeURIComponent($(SecondarySkills));
    window.location.href = url;
}

我正在检查addnewitem.aspx中的查询字符串,如下所示。

<script type="text/javascript">
        var queryString = new Array();
        $(function () {
            if (queryString.length == 0) {
                if (window.location.search.split('?').length > 1) {
                    var params = window.location.search.split('?')[1].split('&');
                    for (var i = 0; i < params.length; i++) {
                        var key = params[i].split('=')[0];
                        var value = decodeURIComponent(params[i].split('=')[1]);
                        queryString[key] = value;
                    }
                }
            }
            if (queryString["Title"] != null && queryString["PrimarySkills"] != null) {
                var data = "<u>Values from QueryString</u><br /><br />";
                data += "<b>Title:</b> " + queryString["Title"] + " <b>PrimarySkills:</b> " + queryString["PrimarySkills"] + " <b>SecondarySkills:</b> " + queryString["SecondarySkills"];
                $("#lblData").html(data);
                alert(data);
            }
        });
</script>

"http://sites/APPSTEST/JobRequisitionApp/Pages/AddNewItem.aspx?Title=%5Bobject%20Object%5D&PrimarySkills=%5Bobject%20Object%5D&SecondarySkills=%5Bobject%20Object%5D"

我努力解决这个问题。我可以知道我在哪里做错了吗?谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

您应该使用url中的相对路径而不是硬编码整个文件夹结构,这可能是错误的,因为您获得了404.并且您需要在每次发布网站时更改网址当你硬编码时,托管环境。

所以改变

var url = "http://sites/APPSTEST/JobRequisitionApp/Pages/AddNewItem.aspx?Title=...

var url = "/AddNewItem.aspx?Title=...

如果两个页面都在同一个文件夹中。如果AddNewItem.aspx位于Pages文件夹中,您必须添加该文件夹:var url = "/Pages/AddNewItem.aspx?Title=...