通过redirectPost()函数将多个数据项发布到.cshtml页面

Posted

技术标签:

【中文标题】通过redirectPost()函数将多个数据项发布到.cshtml页面【英文标题】:Post multiple data items through redirectPost() function to .cshtml page 【发布时间】:2018-06-20 06:29:36 【问题描述】:

我在以下位置找到了以下代码:Send POST data on redirect with javascript/jQuery?

$.extend(
    
        redirectPost: function (location, args) 
            var form = $('<form></form>');
            form.attr("method", "post");
            form.attr("action", location);

            $.each(args, function (key, value) 
                var field = $('<input></input>');

                //Change the following back to hidden 
                field.attr("type", "hidden");
                //field.attr("type", "text");
                field.attr("name", key);
                field.attr("value", value);

                form.append(field);
            );
            $(form).appendTo('body').submit();
        
    );

我使用以下 jquery 调用此重定向:

var redirect = 'ListDatabaseDetails.cshtml?id=999999';
$.redirectPost(redirect,  'ServerID': '1', 'DBID': '23' );

这可以通过 .cshrml 目标页面完成吗?如果是这样,我如何检索目标页面上的两个值:ServerID 和 DBID?

我在目标 .cshtml 页面上尝试了以下 JavaScript,但没有成功 - 字段不存在:

function load_data() 
    var ServerID = document.getElementById("ServerID").value;
    var DBID    = document.getElementById("DBID").value;

感谢您的帮助。

【问题讨论】:

问题应该是:这可以用 .cshtml 目标页面完成吗?如果是这样,我如何检索目标页面上的两个值:ServerID 和 DBID? 【参考方案1】:

我能够使用 c# razor 代码解决这个问题,并将值从 jquery 发布到发送页面。在目标 .cshtml 页面中,我添加了:

@
var serverID = Request["ServerID"];
var dbID = Request["DBID"];

这将值存储在使用来自发送页面的数据填充的 serverID 和 dbID 变量中。耶!

【讨论】:

以上是关于通过redirectPost()函数将多个数据项发布到.cshtml页面的主要内容,如果未能解决你的问题,请参考以下文章

js 多个异步 的并发控制

如何将 CSV 数据导入多个数组并通过 VBA 中的函数或子函数返回多个数组?

将通过 FOR 循环函数输出的多个数据帧合并为一个数据帧

如何动态地将变量从一个函数发送到另一个函数

如何将数据从 javascript 函数发送到 MIDI.js API 中的 MIDI.noteOn()

PHP表单处理会话管理文件上传文件处理执行函数(10.8 第十六天)