gpt4 book ai didi

JavaScript:__doPostBack 中的多个参数

转载 作者:可可西里 更新时间:2023-11-01 01:50:36 25 4
gpt4 key购买 nike

首先,我发现的唯一一篇帖子 ( calling-multiple-dopostback-from-javascript ) 对我的问题没有帮助,所以我不认为这篇帖子是重复的。

我的 ASPX 网页中有这个 JavaScript 函数,它包含一个 __doPostBack 函数:

function OpenSubTable(bolID, controlID) {
// code
__doPostBack('UpdatePanelSearch', bolID);
// more code
}

完美运行,我可以像这样将 bolID 的值放入我的代码中:

protected void UpdatePanelSearch_Load(object sender, EventArgs e)
{
var bolID = Request["__EVENTARGUMENT"];
// code
}

问题是,我必须通过回发传递 2 个不同的值。有什么简单的解决方案吗?显然这样的事情是行不通的:

function OpenSubTable(bolID, controlID) {
// code
__doPostBack('UpdatePanelSearch', bolID, controlID); // not that simple, i'm afraid :(
// more code
}

我们非常欢迎任何帮助。

问候,贡纳

最佳答案

您可以将两个值作为一个 JSON 字符串传递:

function OpenSubTable(bolID, controlID) {
__doPostBack('UpdatePanelSearch', JSON.stringify({ bolID: bolID, controlID: controlID}));
}

然后在服务器端解析:

protected void UpdatePanelSearch_Load(object sender, EventArgs e)
{
SomeDTO deserializedArgs =
JsonConvert.DeserializeObject<SomeDTO>(Request["__EVENTARGUMENT"]);
var bolID = deserializedArgs.bolID;
var controlID = deserializedArgs.controlID;
}

public class SomeDTO
{
public string bolID { get; set; }
public string controlID { get; set; }
}

如果您使用的是 .Net >=4.0,我相信您可以反序列化为通用元组并避免必须创建 SomeDTO。编辑:More information about deserializing to dynamic types .

关于JavaScript:__doPostBack 中的多个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14482939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com