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

时间:2018-01-11 00:55:55

标签: javascript c# jquery twitter-bootstrap razor

我在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;
}

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

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

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

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