javascript - 如何将变量传递到另一个页面?

标签 javascript asp.net

我实际上使用下面的代码让它工作。感谢所有向我提供意见的人,但不得不说我很难让它正常工作。希望它对其他 javascript 新手有所帮助。

function SelectedRow() {
            (function () {
                if (window.addEventListener) {
                    window.addEventListener('load', run, false);
                } else if (window.attachEvent) {
                    window.attachEvent('onload', run);
                }

                function run() {
                    var table = document.getElementById('alternativeCableTable');
                    table.onclick = function (event) {
                        var target = event.target || event.srcElement;
                        while (target && target.nodeName != 'TR') { 
                            target = target.parentElement;
                        }              
                        var cells = target.cells;              
                        if (!cells.length || target.parentNode.nodeName == 'THEAD') {
                            return;
                        }
                        var stockcode = document.getElementById('stockcode');
                        var wiretype = document.getElementById('wiretype');
                        var wirelength = document.getElementById('wirelength');
                        var terminalA = document.getElementById('termA');
                        var sealA = document.getElementById('sealA');
                        var terminalB = document.getElementById('termB');
                        var sealB = document.getElementById('sealB');
                        stockcode.value = cells[0].innerHTML;
                        wiretype.value = cells[1].innerHTML;
                        wirelength.value = cells[2].innerHTML;
                        terminalA.value = cells[3].innerHTML;
                        sealA.value = cells[4].innerHTML;
                        terminalB.value = cells[5].innerHTML;
                        sealB.value = cells[6].innerHTML;
                        alert("The select data is sent to print page");
                        window.open("http://10.19.13.67/ReworkLabels/PrintLabelPage.aspx?stockcode=" + decodeURIComponent(stockcode.value) + "&wiretype=" + decodeURIComponent(wiretype.value) + "&wirelength=" + decodeURIComponent(wirelength.value)
                       + "&terminalA=" + decodeURIComponent(terminalA.value) + "&sealA=" + decodeURIComponent(sealA.value) + "&terminalB=" + decodeURIComponent(terminalB.value) + "&sealB=" + decodeURIComponent(sealB.value),"_blank");

                    };

                }

            })();
        }

最佳答案

使用本地存储,而不是传递 URL 参数和/或 cookie,因为后两者有很多限制。

查看 http://www.webdesignerdepot.com/2013/04/how-to-use-local-storage-for-javascript/ 中如何执行此操作的示例

如果您出于某种原因在服务器端需要这些值,那么您可以利用 JSON 序列化将这些值作为 POST 参数传递。 (或者只是带有隐藏输入的 HTML 表单;不要忘记将名称属性放在需要提交到服务器的 html 表单元素上。)

编辑:在第二次阅读你的问题时,看起来你只需要 2 个简单的字符串值。在本例中,请检查两个输入元素的 value 属性。 https://developer.mozilla.org/en/docs/Web/API/HTMLInputElement

您可能还想为这些 GET 参数命名,例如

window.open("http://Testing/ReworkLabels/Default.aspx?f1="+encodeURIComponent(f1.value)+"&f2="+encodeURIComponent(f2.value),"my window");

参见https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent有关encodeURIComponent函数的更多信息。

参见Retrieve GET variables from URL in ASPX以便在目标 ASP.NET 页面中读取这些参数。

还要确保不要直接打印它们的值(而是正确转义),以避免跨站点脚本(XSS)漏洞。

参见http://msdn.microsoft.com/en-us/library/ff649310.aspxHow do you avoid XSS vulnerabilities in ASP.Net (MVC)?

关于javascript - 如何将变量传递到另一个页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23677663/

相关文章:

javascript - 卡在将 JS 函数转换为 Perl 上

javascript - 如何通过参数调用组件?

javascript - 如何在将值插入javascript中的数组时匹配键

javascript - 如果 ajax 在 Vue.js 的 transition.next() 之前完成,至少等待 2 秒

javascript - 在javascript中滚动单击鼠标位置

c# - 如何从文本中找到最大出现的单词?

c# - ASP.Net 中的 response.redirect 问题

javascript - 警报框在 intel xdk 中不工作

c# - 无法使用 Lambda 表达式检索值

javascript - 单击提交按钮时如何调用 asp 函数?