【问题标题】:How do I open a new window with POST data from a Gridview's onRowDataBound event, that must pass values from the other cells?如何使用来自 Gridview 的 onRowDataBound 事件的 POST 数据打开一个新窗口,该窗口必须从其他单元格传递值?
【发布时间】:2010-07-09 20:34:40
【问题描述】:

好吧,这个问题并不简单:让我解释一下。

我有一个gridview,我已经连接到一个数据源,一切都很顺利。我需要为每一行打开一个更详细的页面,那么最好的方法是什么?目前我在 onRowDataBound 函数中有这样的东西:

if (e.Row.RowType == DataControlRowType.DataRow)
    try
        e.Row.Cells[5].Text = "<input type='image' src='images/more.png' width='20' alt='More...' onClick='test(\"" + e.Row.Cells[1].Text + "\");' />";

测试函数将获取参数,并使用当前页面上某些控件的某些值来打开一个新窗口,其中包含 POST 数据。这可能吗?目前我的测试功能做的不多:

function test() {
    var argv = test.arguments;
    window.open('Details.aspx', 'more', 'width=300,height=200,resizable=yes,toolbar=no');
}

我希望它打开 Details.aspx,并在其中发布 argv 数据。有人吗?

【问题讨论】:

    标签: javascript post gridview new-window


    【解决方案1】:

    有两种方式可以将数据发布到服务器

    1) 要么将您的数据放在“?”之后的 url (获取请求) 2) 将数据放入您的请求正文中(POST/PUT/DELETE 请求)

    在您的情况下,您只有第一个,因为您只是在新页面中打开一个链接。

    所以只是查询字符串中的数据,例如

    http://yourdomain.com?a=val_a&b=val_b

    【讨论】:

    • 是的,这就是 GET 方法。我想发布这些变量。我目前的设置有没有办法做到这一点?我需要改变什么来发布数据,所以没有人可以破解 URL?
    猜你喜欢
    • 2014-08-07
    • 2019-07-21
    • 2013-04-29
    • 1970-01-01
    • 2021-03-16
    • 2023-01-27
    • 2013-08-02
    • 1970-01-01
    • 2015-02-25
    相关资源
    最近更新 更多